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"]
这可能是重复的,但不知道我收到此错误的原因。当我使用另一台 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"]