2010-03-17 90 views
4

警告:move_uploaded_file(/home/site/public_html/wp-content/themes/mytheme/upgrader.zip)[function.move-uploaded-file]:無法打開流:權限在/ home/site/public_html/wp-content/themes/mytheme/uploader.php on line 79什麼是導致此權限的錯誤,我該如何解決它?

Warning:move_uploaded_file()[function.move-uploaded-file]:無法將'/ tmp/phptempfile'移動到'/ home/site/public_html /wp-content/themes/mytheme/upgrader.zip'在線79 /home/site/public_html/wp-content/themes/mytheme/uploader.php有問題。抱歉!

代碼低於該行...

// permission settings for newly created folders 
$chmod = 0755; 

// Ensures that the correct file was chosen 
$accepted_types = array('application/zip', 
          'application/x-zip-compressed', 
          'multipart/x-zip', 
          'application/s-compressed'); 

foreach($accepted_types as $mime_type) { 
    if($mime_type == $type) 
     { 
     $okay = true; 
     break; 
    } 
} 

$okay = strtolower($name[1]) == 'zip' ? true: false; 

if(!$okay) { 
     die("This upgrader requires a zip file. Please make sure your file is a valid zip file with a .zip extension");  
} 

//mkdir($target); 
$saved_file_location = $target . $filename; 

//Next line is 79 
if(move_uploaded_file($source, $saved_file_location)) { 
    openZip($saved_file_location); 
} else { 
    die("There was a problem. Sorry!"); 
} 
+0

只是觀察:您檢查上傳文件的MIME類型,然後用$'$ = = strtolower($ name [1])=='zip'這行來丟棄檢查結果? true:false;' – Dancrumb 2010-03-19 14:52:15

回答

1

看來你需要寫權限添加到壓縮文件被移動到文件夾。我假設你正在使用Linux和Apache。您可以將上傳文件夾的所有者更改爲apache併爲其授予770權限。 INSECURE的替代方案是不更改文件夾的所有者,並將權限更改爲777,這正如我所說的那樣不安全。

下面的文章提供除了一些技術的一些詳細信息,以確保我公司提供的第二個選擇:

http://www.mysql-apache-php.com/fileupload-security.htm

0

如果您可以訪問您的服務器,看看你的.htaccess文件和php.ini文件夾來檢查允許上傳哪些文件。如果您通過公司託管,您應該可以訪問具有php設置部分的在線控制面板。

0

嘗試在移動腳本之前使用chmod函數,並向該文件夾添加寫入權限。

相關問題