2016-09-29 61 views
0

我有一些上傳AWS服務器上的文件的代碼。直到今天,它仍然正常工作,我決定從我的AWS服務器上刪除所有代碼,並上傳最新的代碼副本,並從此停止工作。有人可以發現錯誤嗎?PHP文件上傳在AWS服務器上無法正常工作 - mkdir返回false

我試着調試一下,發現mkdir(...)函數返回false。我不知道它爲什麼會返回錯誤。我擁有「上傳」文件夾 - drwxrwxr-x的所有權限。我也在表單上使用enctype =「multipart/form-data」。

有人可以請指出我在正確的方向嗎?我會做剩下的。

謝謝。請幫忙!

$uniqueKey = md5(microtime(true)).uniqid(); 
$ret = array(); 

function makedir($dir){ 
    if (!is_dir($dir) && strlen($dir)>0){ 
     mkdir($dir, 0777, true); 
     chmod($dir, 0777); 
    } 
} 

$output_dir = "../uploads/".$uniqueKey."/"; 
makedir($output_dir); 

if(isset($_FILES["myfile"])){ 
    $error =$_FILES["myfile"]["error"]; 
    $ret['unique'] = $uniqueKey; 
    $ret['error'] = $error; 

    if(!is_array($_FILES["myfile"]["name"])){ 
     $fileName = $_FILES["myfile"]["name"]; 
     move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName); 
     $ret[]= $fileName; 
    }else{ 
     $fileCount = count($_FILES["myfile"]["name"]); 
     for($i=0; $i < $fileCount; $i++){ 
      $fileName = $_FILES["myfile"]["name"][$i]; 
      move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName); 
      $ret[]= $fileName; 
     } 
    } 
} 
echo json_encode($ret); 

回答

0

這是權限。我將我的文件夾的權限從drwxrwxr-x更改爲drwxrwxrwx,並且工作正常。

相關問題