Correction status:qualified
Teacher's comments:加上自己的总结 就更好啦!
遍历目录和上传文件代码:
<?php $dir = "dir"; //创建一个目录,后面使用 $list = range("a", "f"); foreach ($list as $v) { $a=10; for ($i=0; $i < 5; $i++) { for ($j=0; $j < $i; $j++) { $dir1 = $dir."/".$v."/"."$i"."/".$j; if(!file_exists($dir1)){ mkdir($dir1,0777,true); } if($j%2){ $fp = fopen($dir1."/{$j}.html","w+"); fwrite($fp,$dir1); fclose($fp); } } } } //老方式遍历文件夹 // fn($dir); // function fn($dir){ // $res = opendir($dir); // while ($file = readdir($res)) { // if ($file != "." && $file != "..") { // $re_dir = $dir."/".$file; // if(is_dir($dir."/".$file)){ // fn($re_dir,0); // $level = count(explode("/",dirname($re_dir)))-1; // echo (str_repeat("-",$level*10)).$re_dir."<br>"; // }else{ // $level = count(explode("/",dirname($re_dir)))-1; // echo "存在文件".(str_repeat("-",$level*10)).$dir."/".$file."<br>"; // } // } // } // } //数组方式遍历文件夹 fn2($dir);//调用函数传入路径 function fn2($dir){ $arr = scandir($dir);//路径下内容,赋值给$arr数组 foreach ($arr as $v) {//遍历数组 if ($v != "." && $v != "..") { //判断是否为. .. $re_dir = $dir."/".$v; if(is_dir($re_dir)){//判断是否是路径 fn2($re_dir);//递归调用 $level = count(explode("/",dirname($re_dir)))-1;//根据目录深度生成数字 echo (str_repeat("-",$level*10)).$v."<br>";//打印出目录名 }else{ $level = count(explode("/",dirname($re_dir)))-1; echo "存在文件".(str_repeat("-",$level*10)).$dir."/".$v."<br>"; } } } } ?> 文件上传 <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST" enctype="multipart/form-data"> <fieldset> <legend align="center">文件上传</legend> <p><strong>选择文件:</strong><input type="file" name="pic"></p> </fieldset> <p align="center"><button type="submit" name="submit" >上传</button></p> </form> <?php //判断是否是post上传 if ($_SERVER['REQUEST_METHOD'] =="POST") { //判断文件是否为空 if(isset($_FILES['pic'])&&$_FILES['pic']['size']!=0){ //设置允许上传的文件类型 $allow = ['image/jpg','image/jpeg', 'image/png','image/gif']; if (in_array($_FILES['pic']['type'], $allow)) { //创建文件上传目录 $upload = "dir/upload/".date("Ymd")."/"; if(!file_exists($upload)){ mkdir($upload,0777,true); } if (move_uploaded_file($_FILES['pic']['tmp_name'],$upload.time().".png")){ //上传成功 echo "<script>alert('文件上传成功')</script>"; } }else { //提示格式不对 echo "<script>alert('仅允许上传jpg和png格式的图片');</script>"; } } //对上传错误进行处理 if ($_FILES['pic']['error'] > 0 ) { echo '<p>错误原因是:<strong>'; switch ($_FILES['pic']['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; } }} ?>
点击 "运行实例" 按钮查看在线实例