Apache-2.2

無法上傳到 tmp 目錄

  • October 21, 2012

我正在嘗試在 PHP 中測試 http 圖像上傳功能。我已經在 OSX(本地)和 Ubuntu(遠端)上的 Apache 上嘗試過這個。

在 php.ini 中我設置了upload_tmp_dir = /var/tmp/http-upload. 兩者tmphttp-upload都將權限設置為drwxrwxrwt

每次我嘗試上傳時,我都會收到一個錯誤,即臨時位置中不存在該文件。

我的配置中是否缺少任何內容?

實際的上傳功能是:

   if ($_FILES) {
       $target_path = '/assets/logos' . basename($_FILES['logo']['name']);
   }
   if (move_uploaded_file($_FILES['logo']['tmp_name'], $target_path)) {
       echo 'success';
   }
   else {
       echo 'fail';
   }

以及具體的錯誤:

Warning: move_uploaded_file(/logos/1317156765-shinetsu.gif): failed to open stream: No such file or directory in upload.php on line 8 Warning: move_uploaded_file(): Unable to move '/tmp/http-upload/php8CNWja' to '/logos/1317156765-shinetsu.gif' in upload.php on line 8 fail

我懷疑它試圖將您上傳的文件移動到 /assets/logos,而不是 /var。您可能想嘗試使用 ./assets/logos,或者以某種方式獲取您網站的基本目錄。

引用自:https://serverfault.com/questions/440728