我正在使用Apache/2.0.52
(Red Hat) &php4
通过浏览器从本地计算机上传文件。文件到达后/tmp
如下所示:
-rw------- 1 apache apache 18668 Jun 27 02:56 phpi8g4LS
我尝试使用move_uploaded_file(/tmp/phpi8g4LS, "/var/www/html/images/phpi8g4LS")
,但/tmp
文件无法移动。
错误:
move_uploaded_file(): Unable to move '/tmp/phpYYMatI' to '/var/www/html/images/$NewImageName
但是,如果我将其写回,/tmp/
它就可以正常工作。
例如
if (file_exists($xyz))
{
echo "The file $xyz exists"; //the file $xyz does indeed exist
move_uploaded_file($xyz,"/tmp/$xyz"); //success!!
move_uploaded_file($xyz,"/var/www/html/images/$xyz"); //No good!!
} else {
echo "The file does not exist!";
}
我可以消除权限问题,我尝试写入的所有目录都归 apache 或 (gasp!) 所有0777
。我在其他 Linux 风格的 apache 服务器上经常这样做,没有任何问题...这是怎么回事?我已经为此烦恼了好几天!请帮忙!!
答案1
您可能在 PHP 中打开了安全模式标志,它阻止了您的访问。请在 php.ini 中将其关闭,然后重试。