文件上传时出现“权限被拒绝”的错误提示。

5
我正在使用这段代码将文档上传到我的服务器。
<?php
if ($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}else{
echo getcwd().'<br>';
echo "Upload in file named: " . $_FILES["file"]["name"] . "<br>";
$info = pathinfo($_FILES['userFile']['name']);
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$target = 'upload/100.'.$ext;
move_uploaded_file( $_FILES['file']['tmp_name'], $target);
}

?>

我收到了以下错误信息:
警告:move_uploaded_file(C:\Inetpub\vhosts\api.cutm.ac.in\httpdocs\UploadMarks\upload\100.docx) [function.move-uploaded-file]:在C:\Inetpub\vhosts\api.cutm.ac.in\httpdocs\UploadMarks\uploadFile.php的第14行打开流时失败:权限被拒绝。
警告:move_uploaded_file() [function.move-uploaded-file]:无法将'C:\Windows\Temp\phpF64C.tmp'移动到'C:\Inetpub\vhosts\api.cutm.ac.in\httpdocs\UploadMarks\upload\100.docx',位于C:\Inetpub\vhosts\api.cutm.ac.in\httpdocs\UploadMarks\uploadFile.php的第14行。
我做错了什么?我的代码需要做哪些更改?请在这方面帮助我。
1个回答

7
问题在于您的文件夹没有写入权限,因此无法上传文件。
您需要赋予它写入权限。您还可以使用chmod来为该文件夹授予写入权限。
同时检查哪些用户拥有该文件夹的写入权限。当您从代码中上传文件时,上传的用户是“其他”用户。 更多信息.

那是怎么做到的,看起来他是在Windows上运行这个程序? - ProfessionalAmateur
@ProfessionalAmateur: 你可以看到错误信息,它很清楚地说明服务器是在Windows上。 - NewUser
1
@Dibya - 如果这是一个Windows系统,我不明白你为什么告诉他使用chmod命令。 - ProfessionalAmateur
@ProfessionalAmateur:我未曾使用过 chmod 命令,也没有告诉任何人使用 chmod 命令。也许 Yogesh 想要添加更多细节。坦白说,我从未使用过 chmod 命令,甚至从未访问过提供的链接。问题是在我赋予完全控制权限后解决的,所以我没有理会他提供的额外信息。尽管如此,这些细节可能会对下一批访问者有所帮助。 - NewUser
1
@Dibya - 我错了,我问 Yogesh 为什么让你在 Windows 上使用 chmod 命令,因为它是 Linux 命令。不用担心! - ProfessionalAmateur
@ProfessionalAmateur:感谢您指出。当Yogesh看到这些评论时,他可能会编辑答案。 - NewUser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接