2013-09-27 71 views
0

我使用HTML表單PHP - 顯示投稿的圖像

如何獲得一旦服務器接收它PHP成功地顯示圖像發送到.JPEG下面的服務器?

<?php 
     if ($_FILES["file"]["error"] > 0) 
      { 
       echo "Error: " . $_FILES["file"]["error"] . "<br>"; 
      } 
     else 
      { 
       echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
       echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
       echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
       echo "Stored in: " . $_FILES["file"]["tmp_name"] . "<br>"; 
      } 

     $img = $_FILES["file"]; 

     echo $img; 

?> 
+0

'$ _FILES ['file']'是一個包含上傳數據的數組。它不包含實際的圖像。 –

+0

@MarcB如何獲得實際圖像? –

回答

0

你應該

move_uploaded_file($_FILES["file"]["tmp_name"], 
        $target_path.'/'.$_FILES["file"]["name"]) 

讓您移動臨時文件,然後你可以用

print '<img src="http://yoursite.com/url_of_target_path/'. 
      $_FILES["file"]["name"].'"/> 

表明它不小心上傳消毒數據之前,用我提供的確切的代碼。

+0

所以我的設置其中$ server_path =「http://localhost/photoServerProject/photoServer.php」; 和$ src = $ _FILES [「file」] [「name」];但我不斷收到服務器錯誤 –

+0

這是可怕的危險代碼,允許用戶在服務器上隨意塗鴉他們選擇的文件。 –

+0

放鬆,我正在運行本地服務器,只有我有權訪問 –

0

你之前,你echo $img

例如設置內容頭到對應的圖像格式,如果上傳的圖片是jpg它應該是

header('Content-Type: image/jpeg'); 
echo $img; 

還要確保你而不是echo連同它的文本數據。