Correction status:Uncorrected
Teacher's comments:
一、文件上传与检测
<meta charset="utf-8"> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post" enctype="multipart/form-data"> <!-- 用隐藏域设置允许上传的文件大小,仅考参考 --> <input type="hidden" name="MAX_FILE_SIZE" value="542488"> <fieldset> <legend align="center">文件上传</legend> <p><strong>选择文件:</strong><input type="file" name="upload"></p> </fieldset> <p align="center"><button type="submit" name="submit" >上传</button></p> </form> <?php //检测请求类型是否POST,如果不是应该提示用户类型不对 if ( $_SERVER['REQUEST_METHOD'] == 'POST') { //检测是否有文件被上传 if ( isset($_FILES['upload']) ) { //设置允许上传的文件类型 $allow = ['image/jpg','image/jpeg','image/png']; if( in_array($_FILES['upload']['type'],$allow)) { //将文件先移动到临时目录 if ( move_uploaded_file($_FILES['upload']['tmp_name'],"upload/{$_FILES['upload']['name']}") ) { echo '<script>alert("上传成功");</script>'; } else { $error = $_FILES['upload']['error']; if ( $error > 0 ) { echo '错误原因是:<strong>'; switch ($error) { case 1 : echo '文件超过了php.ini配置中设置的大小'; break; case 2 : echo '文件超过了表单常量中设置的大小'; break; case 3 : echo '仅有部分文件被上传'; break; case 4 : echo '没有文件被上传'; break; case 6 : echo '没有可用的临时文件夹'; break; case 7 : echo '磁盘已满,写入失败'; break; case 8 : echo '上传意外终止'; break; default : echo '系统未知错误'; break; } echo '</strong>'; } } } else { echo '<script>alert("不被允许的文件类型!");</script>'; } } } else{ echo '请求类型不正确!'; } ?>
点击 "运行实例" 按钮查看在线实例
二、目录遍历
<meta charset="utf-8"> <?php //目录遍历 $dir = opendir('./') or die('打开失败'); while (false != ($file = readdir($dir))) { if ( $file!='.'&&$file!='..' ) { print $file.'<br>'; } } closedir($dir); echo '<hr>'; $arr = scandir('./'); foreach ( $arr as $file ) { if ( $file!='.'&&$file!='..' ) { print $file.'<br>'; } }
点击 "运行实例" 按钮查看在线实例