簡體   English   中英

文件上傳(在本地工作,但不在遠程服務器上)

[英]File Upload (works locally, but not on remote server)

我正在嘗試通過HTML表單將文件(msword / doc)上傳到Apache服務器文件夾。 它在我本地測試它時工作(我通過MAMP測試它),但是當我將它上傳到遠程服務器(例如GoDaddy)時,它不起作用。 它顯示“文件上傳存在問題”。

下面是處理文件上載的代碼片段。 我無法弄清楚我的條件有什么問題。

      // Move the file to the target upload folder
      $target = FILE_UPLOADPATH . basename($new_file);
      if (move_uploaded_file($_FILES['new_file']['tmp_name'], $target)) 
      {
        // The new file move was successful, now make sure any old file is deleted
        if (!empty($old_file) && ($old_file != $new_file)) 
        {
          @unlink(FILE_UPLOADPATH . $old_file);
        }
      }
      else 
      {
        // The new file move failed, so delete the temporary file and set the error flag
        @unlink($_FILES['new_file']['tmp_name']);
        echo 'There was a problem with the file upload.' . PHP_EOL;
      }

如果$_FILES['new_file']['error'] == 0那么上傳不是問題,但是對move_uploaded_file()的調用是。 您可能對要將文件移動到的目錄具有不正確的權限。

你確定你上傳文件夾有權限的文件進行寫呢? 如果沒有,請使用chmod 0777並進行測試。

目標文件夾是否具有適當的權限? http://en.wikipedia.org/wiki/Chmod目錄寫入通常需要775: 使用PHP / Apache上傳文件夾的正確權限是什么?

此外,您是否希望用戶可以直接訪問該文件? 如果不是,您應該考慮將文件寫入Web根目錄上方的文件夾。

對我來說,我碰巧在本地使​​用php的upload_max_filesize下的文件進行測試,同時使用upload_max_filesize上的文件進行遠程測試。 有關詳細信息,請參閱https://stackoverflow.com/a/30359278/3325776

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM