php上傳圖片的問題。困了我好久。
問題說有在代碼的注釋裡
先上代碼。
html上代碼先不上,我覺得沒有問題,寫代碼之前我在網上找了很多案例,我寫的和網上的幾乎一樣的。
$ifile=$_FILES['c_photo']; //前台傳過來的檔案
uploadImage($ifile); //調用方法
//我寫的方法
function uploadImage($file){
$filepath="/uploads/photo/accredit/"; //點上傳後檔案夾裡沒有圖片。該檔案夾是存在的。
move_uploaded_file($file["tmp_name"],$filepath.$file["name"]);
echo $file["tmp_name"]; //上傳的是jpg圖片,這裡返回的是C:\wamp\tmp\php16F.tmp(去看了下這個目錄下沒有這個檔案)
echo $file["name"]; //這裡返回的是圖片名字,上我上傳的圖片是一樣的。
echo "
";
echo $file['error']; //這裡返回的是0,(0代表是上傳成功)
}
------解決方案--------------------
$filepath = "/uploads/photo/accredit/";
這是絕對路徑!
你的圖片是儲存在網站以外嗎?
------解決方案--------------------
如果你的upload.php是在根目錄,這句改成這樣
$filepath = dirname(__FILE__)."/uploads/photo/accredit/"; //點上傳後檔案夾裡沒有圖片。該檔案夾是存在的。
目錄結構應該這樣
upload.php
uploads/photo/accredit/
就是upload.php 與 uploads 檔案夾同一層。你再試試。
------解決方案--------------------
路徑問題,我也經常搞錯,明明代碼沒有錯,就是不行。