繁体   English   中英

使用PHP move_uploaded_file函数的权限被拒绝

[英]Using PHP move_uploaded_file function permission denied

在将文件上传到服务器时遇到此错误时,我已经坚持了好几天。 它是在Apache上运行的Windows服务器

尝试了各种解决方案,但仍然收到错误。 我尝试更改该服务器上每个人的完全权限。

我将默认的PHP上传tmp文件更改为应用程序内部,但仍然出现此错误。

警告:move_uploaded_file(C:\\ My_Workspace \\ ojs2002)[function.move-uploaded-file]:无法打开流:权限在C:\\ My_Workspace \\ ojs \\ admin \\ include \\ fileupload.php中被拒绝

警告:move_uploaded_file()[function.move-uploaded-file]:无法将C:\\ My_Workspace \\ ojs \\ admin中的'C:\\ My_Workspace \\ ojs \\ tmp \\ phpCB78.tmp'移动到'C:\\ My_Workspace \\ ojs2002'第78行的\\ include \\ fileupload.php

 // copy the file, making the destination directory if necessary
 $filedir = 'C:/My_Workspace/ojs2002/'.basename($_FILES['articlefile']['name']);


 chmod($_FILES["articlefile"]["tmp_name"], 0777);
 chmod($filedir, 0777 );        

 move_uploaded_file($_FILES["articlefile"]["tmp_name"],$filedir);

该代码可以在Linux服务器上正常运行,但不能在Windows上运行。

任何帮助将不胜感激。 谢谢。

chmod在Windows上将无法使用,因为它使用其他类型的权限系统。 确保用户Apache以身份运行,对您要将文件移动到的文件夹具有完全写入权限(右键单击并单击共享或权限,具体取决于Windows版本)

我决定从以下位置切换:

move_uploaded_file($uploaded_file, $file_path);

file_put_contents($file_path, file_get_contents($uploaded_file));
@unlink($uploaded_file);

unlink可能会失败,但是我对此不太担心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM