加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 警告:mkdir():文件存在

发布时间:2021-07-06 05:19:12 所属栏目:大数据 来源: https://www.jb51.cc
导读:传输到我的上传文件夹的文件运行良好,但我在mkdir中有一个警告.它说文件存在但图片和文件夹生成自己的名字.我不知道是什么警告决定的. 有人可以帮帮我吗? include('connect.PHP');$dir=substr(uniqid(),-7); // Uniqid for subdirectory$path = "uploads/$d

传输到我的上传文件夹的文件运行良好,但我在mkdir中有一个警告.它说文件存在但图片和文件夹生成自己的名字.我不知道是什么警告决定的.

有人可以帮帮我吗?

include('connect.PHP');

$dir=substr(uniqid(),-7); // Uniqid for subdirectory

$path = "uploads/$dir/"; // uploads/subdirectory/  // Make directory

$valid_formats = array("jpg", "png", "jpeg", "kml");

$max_file_size = 2097152;

$count = 0;


// Loop $_FILES to execute all files

 if(!empty($_FILES)){
foreach($_FILES['files']['name'] as $f => $name) {

    if ($_FILES['files']['error'][$f] == 4) {
        continue; // Skip file if any error found
    }  

    if ($_FILES['files']['error'][$f] == 0) {              
        if ($_FILES['files']['size'][$f] > $max_file_size) {
            $message[] = "$name is too large!.";
            continue; // Skip large files
        }

        elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
            $message[] = "$name is not a valid format";
            continue; // Skip invalid file formats
        }

        else{ // No error found! Move uploaded files 
            mkdir($path, 0700);
            $ext = pathinfo($_FILES['files']['name'][$f], PATHINFO_EXTENSION);
            $uniq_name = substr(uniqid(),-5) . '.' .$ext;
            $dest = $path . $uniq_name;

            if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $dest)){

           $qry = "INSERT INTO files (code, name, path, type) VALUES ('$dir','$uniq_name','$dest','$ext')" ;

            $result = MysqLi_query($dbc, $qry);
            if ( false===$result ) {
            $sql_error .= 'Error in the query '.$qry.'  Error Desc :'.MysqLi_error($dbc).'<br /><br />' ;
                }
            }

        }

    }       
}}

解决方法:

警告很明显,您正在创建已存在的目录.所以,只需将其更改为

if (!file_exists($path)) {
    mkdir($path, 0700);
}

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读