PHP/IIS copy()/move_uploaded_file()无法打开流:权限被拒绝警告

PHP/IIS copy()/move_uploaded_file()无法打开流:权限被拒绝警告,php,iis,file-upload,warnings,file-permissions,Php,Iis,File Upload,Warnings,File Permissions,我对web开发比较陌生,目前遇到了一个无法解决的错误 在键入“”后,我使用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_uplo

我对web开发比较陌生,目前遇到了一个无法解决的错误

在键入“”后,我使用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。提前谢谢你帮了我的忙

这意味着运行apache服务器的用户没有
upload/
目录的写入权限。您可以右键单击该文件夹并设置对所有人的写入权限

更新


这可能是因为您的PHP处于安全模式,不执行像将一个文件移动到另一个文件这样的命令。检查php.ini中的
safe_模式
safe_模式执行目录
,并对它们进行实验

在我的情况下,IUSR帐户需要目标目录中的权限。不是ISS_IUSR帐户,只是IUSR帐户。

感谢您的回复!我已经为程序可能接触到的每一个可能的文件夹做了这些,但它仍然不工作。非常感谢Ladislav!工作得很有魅力。顺便问一下,你怎么知道的?如何才能找到正确的用户IIS将用来执行php代码?不幸的是,这是我的尝试和错误。我不知道如何查找那个信息。