2015-03-31 81 views
0

我得到一个$ tmp_name的“/ tmp/phpv1K2Eh”,但我无法将临时文件移动到“uploads /”文件夹中。PHP文件上传问题 - 无法上传到所需的文件夹

这在我以前的服务器上工作正常,但在我的新AWS服务器上,我想我需要写入文件夹的权限?

<?php 

$name =   $_FILES['file']['name']; 
$tmp_name =  $_FILES['file']['tmp_name']; 

if(isset($name) && !empty($name)){ 

    $location = 'uploads/' .$name; 

    if(move_uploaded_file($tmp_name, $location)){ 
     echo 'File Uploaded!'; 
    } else { 
     echo 'Error in upload'; 
    } 

} 
?> 

<form action="test.php" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file"><br><br> 
    <input type="submit" name="Submit"> 
</form> 

编辑: 所需授予上传权限的文件夹。但是,如何为/ var/www中的所有文件夹和子文件夹执行此操作?

$ sudo chown apache:apache /var/www/html/uploads/ 

PHP Warning: move_uploaded_file() unable to move

回答

0

我的问题是我没有对文件夹的写权限,我只是读过&执行。 https://www.linux.com/learn/tutorials/760276-how-to-manage-file-and-folder-permissions-in-linux

了解Linux的文件权限:

sudo chmod -R ugo+rw /var/www/html/uploads 

我的回答主要来源:本作的 “上传” 文件夹及其所有子文件夹创建写入权限 https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions

+0

此外,Linux命令: http://linux.about.com/od/commands/l/blcmdl1_ls.htm – xx7xx7xx 2015-04-01 00:16:48