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