2011-09-13 5 views
0

私は2つの別々のファイルがあり、1つはhtml/phpドキュメントイメージを表示し、もう1つはヘッダー関数content-type:image/jpegを使用してイメージをレンダリングするphpファイルです。複数の画像を読むPHP

1枚の画像で試してみましたが、うまくいきました。しかし、私は複数の画像を表示する必要があります。どうすればこのことができますか?

HTML/PHPのドキュメントは、画像

echo "<image src=Image.php>"; 

image.php

$selectimage = mysql_query("SELECT Image from ImageTbl", $con); 
if($selectimage) 
{ 
header("Content-type:image/jpeg"); 
while($row = mysql_fetch_array($selectimage)) 
{ 
echo $row["Image"]; 
} 
} 
+0

(例えばmd5(microtime())のための)スクリプト名にいくつかのユニークなハッシュを追加しようそのスクリプトを使用して複数の画像を1つの画像、つまり隣の画像として表示したいのですか? –

答えて

0

2つのファイルの画像について、互いのために作るレンダリングするPHPファイルに指摘imgタグを持っていますこの

image.php

$image_id = $_GET["id"]; 
header("Content-type:image/jpeg"); 
//query database to get only one image from id 
echo $row["Image"]; 
ような行をフェッチ

別のファイルあなたは一緒にすべての画像を出力することはできません

getimages.php

//query for image data 
while($row = mysql_fetch_array()) 
{ 
    echo "<img src='image.php?id=$row[id]' />"; 
} 
0

を、無意味である、一緒にmushedブラウザには、複数の画像のデータのようになりますので。また、各画像タグは1つの画像しか表示できません。これを解決するには、イメージテーブルにイメージを識別するIDフィールドを与えます。

echo "<image src='Image.php?id=1>"; 
echo "<image src='Image.php?id=2>"; 
echo "<image src='Image.php?id=3>"; 

そして画像を出力ファイルにします::

$id = intval($_REQUEST['id']); // intval will validate the ID to be an int 
$selectimage = mysql_query("SELECT Image from ImageTbl WHERE id=$id LIMIT 1", $con); 
if ($selectimage) { 
    $row = mysql_fetch_array($selectimage); 
    if ($row) { // check if the image really exists 
     header("Content-type:image/jpeg"); 
     echo $row["Image"]; 
    } 
} 
そして、HTMLを出力ファイルに

は、このような何か(あなたが必要な画像のためのIDを渡す)を行います

+0

誰もがそれがセキュリティとスピードで悪い評判を保持していることを知っているので、人々に$ _REQUESTの使用を教えるべきではありません。 - 使用する方法に応じて、$ _POSTまたは$ _GETを使用します。 – DarkMantis

+0

逆のことは嫌いですが、正しいメソッド変数を使用することは賞賛に値すると私は同意しますが、セキュリティ/スピードの悪い担当者はヘビ油だと思います。スクリプトを保護する方法に頼るべきではありません。適切な入力検証を置き換えるものではありません。また、このスクリプトの中には、私がGETを使用することを除いて、1つのメソッドが優先されるべきであることを自然に示しているものはありません。 $ _REQUESTはオンデマンドで実装されていないので、残りの速度と同じ速度ですので、速度引数がどこから来るのかはわかりません。しかし、$ _REQUESTに対しては、以下のような良い議論があります。http://bit.ly/3OZUbp :) – Sajid

+0

ああ、私はおそらく私がスピードについて間違っていたとお詫びしますが、完全にあなたの方法に基づいています。すべてのデータを明らかに消毒することは、どのアプリケーションにとっても重要です。私はあなたに行っていない、私はちょうど彼らがREQUEST varに注意する必要があることをOPに認めさせようとしていました。 – DarkMantis

0

foreachループを使用して、要求されたレコードをループし、使用しているimgタグに独立してエコーします。

これは私の意見では最良の方法です。あなたを行う - あなたは1つのスクリプトを使用して、異なる画像の数を表示したい場合は

0

、あなたが複数の画像を表示することによって、どういう

$seed = md5(microtime()); 
echo '<image src="Image.php' . $seed . '">'; 
関連する問題