move_uploaded_file 不再工作了

move_uploaded_file not working anymore

几年前我做了一个网站,到现在都运行良好。

现在,当我尝试从后端加载图像时,它会发出一些警告,图像无法移动到目标目录中。

这是我收到的警告

Warning: move_uploaded_file(path/image_name.jpg): failed to open stream: Permission denied in D:\inetpub\webs\remote_directory\php_script_name.php on line 184

Warning: move_uploaded_file(): Unable to move 'C:\PHPVersions\PHP55\uploadtemp\php418A.tmp' to 'path/image_name.jpg' in D:\inetpub\webs\remote_directory\php_script_name.php on line 184

这是给我警告的行

if (!move_uploaded_file($_FILES['img_'.$pos]['tmp_name'], 'path/'."part_of_image_name".$_FILES['img_'.$pos]['name'])) {
          $msg = "<p>Error loading image!!</p>";
          break;
        } 

它甚至不打印错误消息。

我试图通过 ftp 更改目录(以及所有子目录和文件)的权限,但我不确定它是否成功,因为它给了我以下消息

Comando: SITE CHMOD 740 Photo4.jpg.
Risposta: 500 'SITE': command not understood

(顺便说一句,我读到 somewhere 它并没有解决问题。但是那个人说他通过使用一些对我不起作用的魔法解决了问题 - 或者我误解了如何去做)

一切正常,直到 days/weeks 前(客户不清楚这一点)所以我只想知道这是一个已知问题还是什么(以及可能的解决方案),因为经过一些研究我找不到任何有用的东西。

试试这个,但首先在根目录中创建一个名为 uploads 的目录:

$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}

发现可以通过使用站点托管提供商的控制面板手动更改目录权限来解决问题。