首頁 >後端開發 >PHP問題 >php提示上傳根目錄不存在怎麼辦

php提示上傳根目錄不存在怎麼辦

王林
王林原創
2021-09-16 14:36:373023瀏覽

php提示上傳根目錄不存在的解決方法:首先賦予根目錄權限,檢查是否解決問題;如果問題沒有解決,使用mkdir命令新建資料夾;最後為新建立的資料夾賦予最高權限。

php提示上傳根目錄不存在怎麼辦

本文操作環境:windows10系統、php 7、thinkpad t480電腦。

問題還原:

在嘗試上傳圖片後得到提示:「上傳根目錄不存在!請嘗試手動建立」。

解決方法:

先嘗試給權限,如果依然無法解決問題就刪除資料夾。然後使用mkdir指令新建一個資料夾,再賦予777權限。

問題二:

在用ThinkPHP3上傳圖片的開發過程中遇到下列幾個問題:

上傳根目錄不存在!請嘗試手動建立:./Uploads/;上傳的圖片,中文名稱亂碼;上傳檔案時會自動產生以目前日期命名的資料夾,並將檔案儲存在其中。

備註:開發環境為Windows下的Xampp

附上問題未解決前的程式碼:

php提示上傳根目錄不存在怎麼辦

##以下為三個問題的解決方法:

問題1

查資料時有網友說這是資料夾權限問題,可依下列方法解決:

例如想把上傳的圖片儲存到./ Uploads目錄裡,就把rootPath設定成'./',savePath改成要儲存的路徑,注意前面不要帶「./」。這樣最終的儲存目錄路徑為./Uploads/1/。

$upload->rootPath = "./";
$upload->savePath = "Uploads/$uid/";

問題2

找到ThinkPHP\Library\Think\Upload\Driver\Local.class.php檔案中的save方法:

php提示上傳根目錄不存在怎麼辦

#將

if (!move_uploaded_file($file['tmp_name'], $filename))

改為

if (!move_uploaded_file($file['tmp_name'], iconv('utf-8','gb2312',$filename)))

問題3

#上傳時,預設會自動使用子目錄儲存上傳文件,即$upload->autoSub = true;將其設為false即可。

在程式碼中的上傳參數中加入以下程式碼:

$upload->autoSub = false;

推薦學習:

php訓練

以上是php提示上傳根目錄不存在怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn