chmod(): 没有那个文件或目录

chmod(): No such file or directory

这可能是重复的,但不知道我收到此错误的原因。当我使用另一台 php 版本为 5.6 的笔记本电脑时,此代码很好,但当我使用带 [= 的笔记本电脑时16=] 版本 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.'.');

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

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

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

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