2011-11-08 77 views
0


我面臨的問題與move_uploaded_file()PHP函數下面是我的腳本。
其言論權限被拒絕。目錄不可寫。但我檢查了它的讀寫執行權限。不知道是什麼問題,我如何確保許可是R-W-X。 ?php - 問題與move_uploaded_file函數

<?php 
error_reporting(E_ALL); ini_set('display_errors', 1); 
$target = "BharatTest/"; 
$photoName = basename($_FILES['image']['name']); 
$target = $target . basename($_FILES['image']['name']) ; 

ini_set('display_errors', 1); 
echo '<pre>Debug: tmp file:', htmlspecialchars($_FILES['image']['tmp_name']), "</pre>\n"; 
echo '<pre>Debug: target directory: ', htmlspecialchars("BharatTest/"), "</pre>\n"; 
echo '<pre>Debug: real target: ', htmlspecialchars(realpath("BharatTest/")), "</pre>\n"; 
echo '<pre>Debug: source readable: ', is_readable($_FILES['image']['tmp_name']), "   
</pre>\n"; 
echo '<pre>Debug: target is_dir: ', is_dir("BharatTest/") ? 'yes':'no', "</pre>\n"; 
echo '<pre>Debug: target writable: ', is_writeable("BharatTest/") ? 'yes':'no', "  
</pre>\n"; 

if(move_uploaded_file($_FILES['image']['tmp_name'], $target)) 
{ 
    echo "YES"; 
} 
else 
{ 
    echo "NO"; 
} 
?> 

回答

0

您需要確保web服務器用戶具有寫入權限。根據設置,這通常需要775甚至777個文件夾權限。

+0

請檢查我上面的評論。 –

0

僅僅因爲目錄是可寫的(當你登錄時),並不意味着它可寫入PHP/Apache /任何你有的Web服務器。根據您的服務器配置,PHP可能會運行一組完全不同的權限。您可以查找Web服務器的權限,也可以將目錄設置爲777,然後從中退出以確定目錄的正確權限。

+0

我正在使用FileZill作爲FTP客戶端。在filezilla中,我檢查了權限,它顯示了777(對於每個組,它的READ-WRITE-EXECUTE),對於我的php腳本文件和目錄也是如此。但是當我運行腳本時,它說拒絕訪問。目錄不可寫... –