簡體   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