データベース内のブロブタイプの画像を表示できません。

WBOY
リリース: 2016-06-23 14:10:53
オリジナル
1773 人が閲覧しました

showimage.php

<?php  include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/utilityfunction/SqlHelp.class.php';include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/Comm.class.php';$SqlHelper = new SqlHelp ( 'read', 'qztoa' );$sql = "select * from qzt_image";$query = $SqlHelper->query($sql );$query_num = $SqlHelper->num_rows ($query );$rows = array ();  $retarr = array (); $query =$SqlHelper->query ( $sql );if($query){$arr_teainfo2 = array ();while ( $arr_teainfo = $SqlHelper->fetch_assoc($query) ) {$arr_teainfo2 [] = $arr_teainfo;$Id=$arr_teainfo["Id"];echo $arr_teainfo["Id"];echo "<IMG SRC=\"Second.php3?Id=$Id\">"; }}?>  
ログイン後にコピー


Second.php3
<?php  include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/utilityfunction/SqlHelp.class.php';include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/Comm.class.php';$SqlHelper = new SqlHelp ( 'read', 'qztoa' );$sql = "select * from qzt_image where Id=10";$query = $SqlHelper->query($sql );$query_num = $SqlHelper->num_rows ($query );$rows = array ();  $retarr = array (); $query =$SqlHelper->query ( $sql );if($query){$arr_teainfo2 = array ();while ( $arr_teainfo = $SqlHelper->fetch_assoc($query) ) {$arr_teainfo2 [] = $arr_teainfo;$Id=$arr_teainfo["Id"];$imagetype=$arr_teainfo["imagetype"];//echo $arr_teainfo["images"];//Header( "Content-type: $imagetype"); header('Content-type: $imagetype');echo $arr_teainfo["images"];}}?>   
ログイン後にコピー


私の何が間違っているのですか? PHP は初めてなので、どこで間違ったのか分かりません


ディスカッションに返信 (解決策)

1. php3 タイプのファイルは正しく解析できますか?設定ファイルを確認してください
2. プログラム ファイルが utf-8 でエンコードされている場合は、BOM ヘッダーがないことを確認してください
3. Second.php3 で画像を出力するためにループを使用しないでください

1. php3 タイプのファイルは解析できますか正しく?設定ファイルを確認してください
2. プログラムファイルが utf-8 でエンコードされている場合は、BOM ヘッダーがないことを確認してください
3. Second.php3 で画像を出力するためにループを使用しないでください
に AddType application/x-httpd を追加しましたhttpd.conf file -php .php .html .htm .php3
これでphp3系のファイルも正常に解析できるでしょうか?

1. php3 タイプのファイルは正しく解析できますか?設定ファイルを確認してください
2. プログラム ファイルが utf-8 でエンコードされている場合は、BOM ヘッダーがないことを確認してください
3. Second.php3 で画像を出力するためにループを使用しないでください
私のプログラム ファイルは gbk です

テストしました.php3 は正常です。解析は正常ですが、まだ機能しません。誰か助けてください。

画像が表示されないのは、プログラムがエラーを報告しているためですか?道はまだ間違っています。
まず印刷してデータがあるかどうかを確認し、存在する場合は、表示されたパスが正しいかどうかをもう一度確認してください。

画像が表示されません。プログラムがエラーを報告していますか?道はまだ間違っています。
まず印刷してデータがあるかどうかを確認し、存在する場合は、表示されたパスが正しいかどうかをもう一度確認してください。
最初に php3 を実行して画像を印刷します。これは正常であり、エラーは報告されません

上記のコードは多すぎます。道はまだ間違っています。

まず印刷してデータがあるかどうかを確認し、データがある場合は、表示されたパスが正しいかどうかをもう一度確認します。

まず php3 を実行して画像を印刷します。これは正常であり、エラーは報告されません。 プログラムは出力データをアドレス バーにコピーします。 ?




画像が表示されません。プログラムがエラーを報告していますか?道はまだ間違っています。
まず印刷してデータがあるかどうかを確認し、データがある場合は、表示されたパスが正しいかどうかをもう一度確認します。
まず php3 を実行して画像を印刷します。これは正常であり、エラーは報告されません。

プログラムは出力データをアドレス バーにコピーします。 ?

これは画像のアドレスではなく、BLOB データ型です

ブラウザのアドレス バー http://localhost/Second.php3?Id=10
何が開けますか?

ブラウザのアドレスバー http://localhost/Second.php3?Id=10
何が開けますか?
header('Content-type: image/jpeg '); があるとバツ印が表示された画像になりますが、コメントアウトすると表示されなくなりますので、echo $image; を実行するとどうなりますか。

ブラウザのアドレスバー http://localhost/Second.php3?Id=10 は記号が文字化けして表示されません。
何が開けられますか?

テストした ID 10 の画像は jpg だったので、最初に固定ヘッダー('Content-type: image/jpeg ') を書きました


かなり混乱していますか?関係ありません、スクリーンショットを撮ってください

スクリーンショットを撮るのに長い時間がかかります


以下にもっとたくさんあります

たくさんのごちゃごちゃ?問題はありません。スクリーンショットを撮って理解できるかどうかを確認してください。これらの厄介なことは何なのかわかりません

写真の形式に問題があります。

これをやってみましょう、$image を file_put_contents('test.jpg', $image); のようにファイルに書き込みます

それから送信してください

<?php  include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/utilityfunction/SqlHelp.class.php';include_once dirname(dirname (dirname ( __FILE__ ))). '/yeqztsys1.0/Comm.class.php';$SqlHelper = new SqlHelp ( 'read', 'qztoa' );$sql = "select * from qzt_image where Id=10";$query = $SqlHelper->query($sql );$query_num = $SqlHelper->num_rows ($query );$rows = array ();  $retarr = array (); $query =$SqlHelper->query ( $sql );if($query){$arr_teainfo2 = array ();while ( $arr_teainfo = $SqlHelper->fetch_assoc($query) ) {$arr_teainfo2 [] = $arr_teainfo;$Id=$arr_teainfo["Id"];$imagetype=$arr_teainfo["imagetype"];$image= $arr_teainfo["images"];}//header('Content-type: image/jpeg ');echo $image; }
ログイン後にコピー

私のオリジナルのコードです。

pjpegです。

画像形式に問題があります。

これをやってみましょう、$image を file_put_contents('test.jpg', $image); のようにファイルに書き込みます

それから送信してください
私は数日前に休暇をとっていたのですが、昨日休暇を申請しました。後でアップロードしてください

画像形式に問題があります!


これをやってみましょう、$image を file_put_contents('test.jpg', $image); のようにファイルに書き込みます
それから送信します
これは普通に書くことができます

test.jpg は別のものであることがわかります写真、これは書いた後の写真です

<?php$query = "select * from qzt_image where id=10";$result = mysql_query($query);$row = @mysql_fetch_array($result);Header( "Content-type: image/pjpeg");echo "$row[uploadfile]";?>
ログイン後にコピー

我的原始版代码。
是pjpeg哦。
我用pjpeg还是显示不出来,我用的gbk的格式,请问你用的什么格式?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート