博客列表 >遍历目录,上传文件实例

遍历目录,上传文件实例

罗盼的博客
罗盼的博客原创
2018年08月29日 15:59:23557浏览

实例

<?php
//遍历目录
function my_dir($dir) {
    $files = array();
    if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:)
        while(($file = readdir($handle)) !== false) {
            if($file != ".." && $file != ".") { //排除根目录;
                if(is_dir($dir."/".$file)) { //如果是子文件夹,就进行递归
                    $files[$file] = my_dir($dir."/".$file);
                } else { //不然就将文件的名字存入数组;
                    $files[] = $file;
                }
 
            }
        }
        closedir($handle);
        return $files;
    }
}
echo "<pre>";
print_r(my_dir("../bloger/shuzu"));
echo "</pre>";
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

//文件上传

<form method="post" action="<?php htmlspecialchars($_SERVER['PHP_SELF'])?>" enctype="multipart/form-data"  >

名字 <input type="text" name="nickname" value=" " type=""/>
<br/>
密码<input type="password" name="password" value="" />
<br/>
图像 <input class="form-control" name="head" type="file" />

<input type="submit" value="提交"/>
</form>
<?php
header("content-type:text/html;charset=utf-8");
//echo htmlspecialchars($_SERVER['PHP_SELF']);
//echo '<pre>';
//print_r($_SERVER);
date_default_timezone_set('PRC');//设置中国时区
$images_type = array('image/jpeg','image/png','image/jpg','image/gif');//这个可以在前端进行筛选,给file加一个accept="image/jpeg,image/gif,image/png"
if($_SERVER['REQUEST_METHOD'] == 'POST'){
  //print_r($_FILES['head']);
      if(isset($_FILES['head'])){
        $error=$_FILES['head']['error'];//获取错误类型
            if($error ==0){
                     if(in_array($_FILES['head']['type'],$images_type)){
                            if($_FILES['head']['name']){        
                               $old_name = $_FILES['head']['name']; //取出老图片的名字
                               $old_name = explode('.',$old_name);//分割老图片后缀名
                               $old_name = end($old_name);//取出后缀名
                               $new_name = rand(10000,99999);//取随机数
                               $date_name = date('YmdHis',time());//取时间
                               $tem =$_FILES['head']['tmp_name'];//取出老图片的位置
                               $update = 'img/'.$date_name.$new_name.'.'.$old_name;//给新图片取名字加上老图片后缀名                     
                                   if(move_uploaded_file($tem,$update)){
                                    echo '上传图片成功!';
                                   }//把老图片移动到服务器并取新名字                           
                            }     
                      } else{echo '<script>alert(\'图片类型错误!\')</script>';} 
           }else{
                    switch($error){
                        case 1:
                           echo '文件超过php.ini配置大小!';
                           break;
                        case 2:
                           echo '文件超过表单设置大小!';
                           break;
                        case 3:
                           echo '文件部分上传!';
                           break;
                        case 4:
                           echo '没有文件上传!';
                           break;
                        default:
                           echo '未知错误类型!';
                    }
            
           }           
      }

}

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议