首頁  >  問答  >  主體

PHP move_uploaded_file() 失敗,我不知道為什麼

這是我的程式碼:

$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粉111927962P粉111927962238 天前349

全部回覆(2)我來回復

  • P粉610028841

    P粉6100288412024-01-30 00:59:13

    但你必須這麼做。

    這就是錯誤訊息的用途。
    出現問題時您是否看到任何錯誤訊息?如果沒有,那麼您必須檢查錯誤日誌。

    將此行加入程式碼頂部

    error_reporting(E_ALL);

    還有這個,如果它是您的本地(非實時)伺服器

    ini_set('display_errors',1);

    這樣您就可以在螢幕上看到錯誤

    對於檔案上傳,您必須先檢查$_FILES['file']['error'])。如果它不是 0,請參閱手冊頁面以了解實際訊息。

    回覆
    0
  • P粉211600174

    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

    回覆
    0
  • 取消回覆