2012-01-09 184 views
0

我使用PHP上傳文件。上傳似乎是成功的。 $ _FILES數組爲:爲什麼我上傳的圖片無法顯示?

Array ([image] => Array ([name] => mount.jpg [type] => image/jpeg [tmp_name] => /tmp/php61qYZj [error] => 0 [size] => 28947)) 

一切似乎都是按順序排列的。但是,當我做

echo '<img src="' . $_FILES['image']['tmp_name'] . '" />'; 

它給了我一個破碎的圖像。

這是如此基本,它怎麼可能失敗?

+0

只需查看您的網址指向的「查看HTML」瀏覽器的功能(並且在您問這裏問題之前始終這樣做) – zerkms 2012-01-09 01:05:41

回答

2

$_FILES['image']['tmp_name']是一個臨時存儲器,僅適用於一個請求。只要它通常位於操作系統目錄的臨時文件/tmp,它就不能從網站上獲得。您需要將文件移動到某種永久性存儲器上,該存儲器可從網上獲得。

+0

我沒有意識到這是頂級/ tmp。那絕對不可用。 – burger 2012-01-09 01:26:51

0

你需要上傳的文件移動到您的圖像文件夾,然後您可以使用此圖片在瀏覽器中顯示。

move_uploaded_file($_FILES['image']['tmp_name'],'/public_html/images/'.$_FILES['image']['name'])) 

上面的代碼將文件上傳到ima​​ges目錄,那麼你可以使用這個形象。

對於ajax文件上傳請聯繫我。