[英]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.