chmod():没有这样的文件或目录

时间:2017-07-04 03:33:17

标签: php file-upload chmod

这可能是一个重复,但不知道我得到这个错误的原因..这个代码很好当我使用另一台笔记本电脑的PHP版本是5.6但当我使用笔记本电脑与PHP版本5.4我有一个错误。 。 这是我正在使用的代码..

        public function uploadImg($file, $newname){

            $path = "../valenciamd/captured_images/";
            $fileparts = pathinfo($file["name"]);
            $name =  $newname . $fileparts["extension"];

            if( is_dir($path) === false ){
                mkdir($path);
            }

            $i = 0;
            $parts = pathinfo($name);
            // while (file_exists($path . $name)) {
            //     $i++;
            //     $name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
            // }
            $name = $parts["filename"]. "." . $parts["extension"];
            $success = move_uploaded_file($file["tmp_name"],
                $path . $name);

            chmod($path . $name, 0777);

            return $path . $name;
        }

$img = $reg->uploadImg( $_FILES['image'], $patientID.'.');

2 个答案:

答案 0 :(得分:0)

尝试使用递归目录创建
阅读 mkdir 手册http://php.net/manual/en/function.mkdir.php

  

bool mkdir(string $ pathname [,int $ mode = 0777 [,bool $ recursive =   false [,resource $ context]]])

答案 1 :(得分:0)

你确定你的php版本是5.4,也许它低于5.2 $ path_parts ['filename']仅在php 5.2之后添加,所以你什么也得不到。这不是错误,只需更新您的php版本。

或者,如果您不想更新您的php版本,您可以使用 $parts['basename']代替$parts["filename"]. "." . $parts["extension"]