0


我面临的 move_uploaded_file() php 函数问题是我的脚本。
其说法许可被拒绝。该目录不可写。但我检查了权限,它的读写执行。不确定是什么问题,我如何确保权限是 RWX。?

<?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";
}
?> 
4

2 回答 2

0

您需要确保网络服务器用户具有写入权限。根据设置,这通常需要文件夹的 775 甚至 777 权限。

于 2011-11-08T13:14:49.907 回答
0

仅仅因为该目录对您是可写的(当您登录时),并不意味着它对 PHP/Apache/您拥有的任何 Web 服务器都是可写的。根据您的服务器配置,PHP 可能以完全不同的权限集运行。您可以查找 Web 服务器的权限或将目录设置为 777,然后从那里退避以确定目录的正确权限。

于 2011-11-08T13:16:02.310 回答