批改状态:合格
老师批语:加上自己的总结 就更好啦!
遍历目录和上传文件代码:
<?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;
}
}}
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号