2015-03-31 124 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