我对网络开发比较陌生,目前遇到了一个我无法解决的错误。
我在输入“http://localhost/index.html”后使用IIS测试我的php并选择要上传的示例文件,它会生成以下警告:
Warning: move_uploaded_file(upload/Angela_Nie_resume_technical - EditedMW.doc): failed to open stream: Permission denied in C:\inetpub\wwwroot\test.php on line 26
Warning: move_uploaded_file(): Unable to move 'C:\Windows\Temp\php74F2.tmp' to 'upload/Angela_Nie_resume_technical - EditedMW.doc' in C:\inetpub\wwwroot\test.php on line 26
以下是与移动文件相关的代码。
$target_dir = "upload/";
$target_file = $target_dir . basename( $_FILES["uploaded"]["name"]) ;
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_file)) {
echo "The file has been uploaded";
}
else {
echo "Sorry, there was a problem uploading file.";
}
我正在使用Windows 8.1并使用IIS来运行localhost。提前谢谢你帮助我!!
答案 0 :(得分:6)
在我的情况下,IUSR帐户需要目标目录中的权限。不是ISS_IUSR帐户,只是IUSR帐户。
答案 1 :(得分:1)
这意味着运行apache服务器的用户对upload/
目录没有写入权限。您可以右键单击该文件夹并设置写入所有人的权限。
<强>更新强>
可能是因为您的PHP处于安全模式并且没有执行将一个文件移动到另一个等命令。检查 php.ini ,查看safe_mode
和safe_mode_exec_dir
并进行试验。