2010-06-22 56 views
0

我知道這是如此簡單的問題,但最終它不工作,我是一個新手。在index.html中,swf發送圖像,而displayImage.php(下面的代碼)應顯示在另一個頁面上。爲什麼它不工作?用php獲取圖像並在html中顯示

<?php 
if (isset ($GLOBALS["HTTP_RAW_POST_DATA"])) { 
$no=0; 
while (file_exists("images/$no.jpg")) 
    $no++; 
header('Content-Type: image/jpeg'); 
$image = $GLOBALS["HTTP_RAW_POST_DATA"]; 
file_put_contents("images/".$no.".jpg", $image); 
} 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-9" /> 
<title>Your Image</title> 
<link href= "style.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
<div id="logo"></div> 
<div id="body"></div> 
/////////display image////////// 
<img src="images/<?$no.".jpg?>"> 

</body> 
</html> 

回答

0

我刪除了行「header('Content-Type:image/jpeg');」它的工作原理!

0
<img src="images/<?=$no.".jpg"?>"> 
+0

不能在腳本塊外使用'$ no'。 – 2010-06-22 20:19:53

+0

爲什麼你不能?你指的是while循環,因爲他聲明瞭$ no以上的內容,或者因爲它不在<?php中,所以<?=是速記? – peelman 2010-06-22 22:44:19

0

這可能是問題。下面的「顯示圖片」註釋的行,也許應該改爲:

<img src="images/<?= $no ?>.jpg"> 
1

你不echo的文件名(和你有一個引用錯誤,但是這可能是一個錯字):

<img src="images/<?php echo $no ?>.jpg" /> 

假設存儲文件實際工作。

0

可能是因爲您嚴格使用XHTML。 IMG標籤不能像正常的HTML一樣未封閉。你必須用/來結束它。 (當你發生錯誤時,它應該會發生災難性的失敗,但是隻有當你發送正確的MIME類型頭文件將它當作XML處理時,它纔會被視爲文本,否則你可能會得到不可預知的結果.....)。如果它正在打印文件的名稱(如images/1.jpg),那麼您知道它正確地解析了內嵌的PHP ....

+0

eblek 2010-06-22 22:25:41

相關問題