move_uploaded_file不再工作了

时间:2015-07-08 15:17:00

标签: php file-upload

我几年前创建了一个网站,到现在为止一直很好。

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

这是我收到的警告

  

警告:move_uploaded_file(path / image_name.jpg):无法打开   stream:权限被拒绝   第184行的D:\ inetpub \ webs \ remote_directory \ php_script_name.php

     

警告:move_uploaded_file():无法移动   ' C:\ PHPVersions \ PHP55 \ uploadtemp \ php418A.tmp' to' path / image_name.jpg'   在第184行的D:\ inetpub \ webs \ remote_directory \ php_script_name.php

这是给我警告的行

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&#39; SITE&#39 ;:命令不是   理解

(顺便说一下,我读somewhere它并不能解决这个问题。然而那个家伙说他用一些不适合我的魔法解决了 - 或者我误解了怎么做)

一切都工作到几天/几周前(客户在那一点上并不清楚)所以我只是想知道这是一种已知的问题还是什么(以及可能的解决方案),因为之后一点点研究我找不到任何有用的东西。

2 个答案:

答案 0 :(得分:0)

试试这个,但首先在根目录中创建一个名为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!";
}

答案 1 :(得分:0)

通过使用站点托管提供商的控制面板来手动更改目录权限,找到解决问题的方法。