這是我的程式碼:
$uploaddir = '/temp/'; $uploadfile = $uploaddir.basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) send_OK(); else send_error("ERROR - uploading file");
我嘗試使用 ftp_fput、ftp_put、move_uploaded_file 進行上傳、重新命名、複製以及任何我可以使用的操作。似乎沒有任何作用。
我無法理解問題是什麼,因為 move_uploaded_file 只傳回 true 或 false,而且沒有錯誤代碼。
幫忙??
P粉6100288412024-01-30 00:59:13
但你必須這麼做。
這就是錯誤訊息的用途。
出現問題時您是否看到任何錯誤訊息?如果沒有,那麼您必須檢查錯誤日誌。
將此行加入程式碼頂部
error_reporting(E_ALL);
還有這個,如果它是您的本地(非實時)伺服器
ini_set('display_errors',1);
這樣您就可以在螢幕上看到錯誤
對於檔案上傳,您必須先檢查$_FILES['file']['error'])
。如果它不是 0
,請參閱手冊頁面以了解實際訊息。
P粉2116001742024-01-30 00:17:11
您確定目標目錄具有world
的寫入權限嗎?即權限表示中的第三個數字?
php 上傳的檔案歸 www-data
您可以透過以下方式變更所有權
[sudo] chown -R www-data folder // change owner [sudo] chown -R www-data:www-data folder // change group and owner