2012-07-02 131 views
0

我想上传文件并将其保存到我们的目录中上传文件夹。 我已经做到了通过使用代码.. 但它不是working..here是一个错误..使用PHP上传文件

“警告:move_uploaded_file(上传/ 1341221475 :: 1aaaa.text):未能打开流:权限被拒绝第24行的/var/www/html/PHP/upload_file.php警告:move_uploaded_file():无法在/ var/www/html /目录中将'/ tmp/phpSZhm3c'移动到'uploads/1341221475 :: 1aaaa.text'上线24 PHP/upload_file.php在存储:AAAA/aaaa.text”

请帮助

代码:

  if($_FILES["file"]["error"] > 0) 
      { 
       echo "ERROR ".$_FILES["file"]["error"]."<br>"; 
      } 
      else 
      { 
       echo "NAME : ".$_FILES["file"]["name"]."<br>"; 
       echo "TYPE : ".$_FILES["file"]["type"]."<br>"; 
       echo "SIZE : ".($_FILES["file"]["size"]/1024)."KB<br>"; 
       echo "Stored in : ".$_FILES["file"]["tmp_name"]."<br>"; 
       if (file_exists("aaaa/" . $_FILES["file"]["name"])) 
         { 
        echo $_FILES["file"]["name"] . " already exists. "; 
         } 
       else 
         { 
       $target_path = "uploads/"; 
        $target_path = $target_path . time() . $_SERVER['REMOTE_ADDR'] . basename($_FILES['file']['name']); 
         move_uploaded_file($_FILES["file"]["tmp_name"],$target_path); 
         echo "Stored in: " . "aaaa/" . $_FILES["file"]["name"]; 
         } 
      } 
+0

只需授予该文件夹的权限! –

+0

如果你正在运行linux chmod它。它的一个简单的权限问题 – Akshat

回答

0

您的Web服务器正在某个用户(例如“www”)下运行。确保用户具有对上传文件夹的写入权限。

+0

是的,root有权限。 –

+0

您的Web服务器不太可能以root身份运行。例如,如果您使用的是Apache,则以root用户身份启动它,并且会从不同用户(例如“www”)下生成一个进程。 – DPlusV

0

将权限授予Apache(例如)作为输出目录的所有者,它将能够创建文件。

0

无论何时使用代码编写文件,运行代码的用户都应具有权限。在这种情况下,启动apache web服务器的人应该有权写入该文件夹。使用chmod命令指定权限。

如果您不担心安全问题,可以像这样提供777到上传文件夹。假设你上传的文件夹是在/ var/www/html等/网站/上传,然后运行

chmod -R 777 /var/www/html/site/uploads 

HTH

0

确保您的上传文件夹中有一个完整的权限,使您可以将您的文件移动到它。

尝试chmod 777 -R到上传目录。例如:

$ sudo chmod 777 -R /var/www/html/PHP/uploads/