• ベストアンサー

phpで数字の値を画像で表示したいのですが

お世話になります。phpを触り出している初心者です。携帯に対応させたいのですが、phpだけでいっぱいなので助けてください. 数字が0だったら非表示 2だったら2の画像・・・というようなものを作りたいのですが imgタグの埋め込み方・記述方法がよくわかりません。 ↓数字を文字で表示する方法はこれで一応やってみました。 <?php $number1 = 0; $number2 = 2; $number3 = 3; $number4 = 4; if ($number1 == true) { echo"<p>0は非表示です。"; } if ($number2 == true) { echo"<p>1の画像です。"; } if ($number3 == true) { echo"<p>2の画像です。"; } if ($number4 == true) { echo"<p>3の画像です。"; } ?> しかし画像がうまくいかずIE6では一種類の画像だけ表示されて 他の新しいブラウザでは文字化けしてる状態です。 それぞれ違う画像を当てはめる場合 どのように数値を増やして記述したらよいのでしょう? 色々試していますがこの記述も正しいのがわかりません。 <?php $gazou = imagecreatefromgif("img/01.gif"); imagegif($gazou); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=shift_jis" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <title>数字で分岐して画像を表示</title> </head> <body> <div style="text-align:center;"> <?php $number1 = 0; $number2 = 1; $number3 = 2; $number4 = 3; if ($number1 == true) { echo'<img src="gazou.php" />'; } if ($number2 == true) { echo'<img src="gazou.php" />'; } if ($number3 == true) { echo'<img src="gazou.php" />'; } if ($number4 == true) { echo'<img src="gazou.php" />'; } ?> </div> </body> </html>

  • PHP
  • 回答数13
  • ありがとう数20

質問者が選んだベストアンサー

  • ベストアンサー
回答No.11

複数の回答者が同時に別々の方法論を説明しているため、質問者さんは混乱されているように見受けます。 ■hogehoge78のパターンに関して 説明が若干雑だったようです。 私の説明した方法は、「test19.php」というファイルと、「gazou.php」というファイルを別々に分ける方法です。 <img src="xxxx">というタグは知ってのとおり画像パスを指定するとその画像を出力します。 なので、src="gazou.php"として、PHPスクリプトを指定すると、 それは当然PHPスクリプトと認識されますので、画像が表示されません。 なので、header("Content-Type:image/gif");という記述をgazou.php内に記述してやり、 「これは画像だ」という風にブラウザに認識させて、 最後にimagegif()関数にて、画像を出力させています。 その為、「test19.php」の中に、上記の記述を含めると、正常に動作いたしません。 ■koke29さん、Slyarさんのパターンに関して hogehoge78のやり方は、画像をPHPスクリプトで表現する、ということで、 上記のように色々考えなければいけませんが、お二方のやり方は、 素直に<img src="xxxx">に記述したいimgフォルダに入っている01.gif/02.gifなどを if文などの条件式を用いることで、動的にファイル名を変更して、ファイル名の記述を書き出す というものです。 ■imagecreatefromgif/imagegif関数の意味に関して これらの関数は、GDライブラリという、画像を編集するときに使う関数です。 例えばある画像の上に動的に任意の文字を挿入して出力したい、とか アクセスカウンタでimgタグで00.gif~09.gifをいちいち指定しないで、 アクセス数に応じて一個の画像として表示したいときなどに使います。 なので、今回の質問者さんのサンプルのスクリプトにはあまり適合する内容ではないかもしれません。 以上、長文失礼しました。

webchan
質問者

お礼

ご丁寧なフォローありがとうございましす。 php本の画像に関するページが少なく imagecreatefromgifというのをたまたまサンプルで見つけ 使えるのかと試したんですがどうも目的が違うようですね。 >その為、「test19.php」の中に、上記の記述を含めると、正常に動作いたしません。 test19.phpで保存しないで 上の項目だけはgazou.phpで保存して別にするということですか? 基本がわかっていなくてすみません。勉強します!

その他の回答 (12)

  • koke29
  • ベストアンサー率58% (114/196)
回答No.13

解決されたようでよかったです! 横から口を出してしまったために混乱してしまったんですね hogehoge78様の適切なまとめが解決の早道になったようで助かりました 解決済みですが、私の提案でご希望の処理を作る方法も一応 $numberに何を代入するかで、希望の使い方も可能です 私の場合はフォームで送信されるものとして提案していたので $_REQUEST[number] としていますが、文字列から取り出した値を代入で 後半部分はそのままでも流用可能です $number = 文字列から取り出した値; という書き方が出来ればOKです 配列を利用する方法ですので、最初はとっつきにくいかもしれませんが 覚えるととっても便利なので提案してみました 今回のような使い方なら長々とif文を書く必要もないので便利ですよー (配列に無い値と0の時はimgタグ自体を非表示にする処理は必要です) では。質問者様&回答者の皆様、お疲れ様でした。

webchan
質問者

お礼

すみません。大変遅くなりまして申し訳ありません。 皆様には本当に感謝しております。 今は第二段の疑問に悩んでいますが質問に至らない事でなかなか 前に進めません。^^; とりあえず赤ん坊のような私にご親切に色々教えてくださって ありがとうございます! 本当は皆様に同じポイントを差し上げたいのですがシステム上申しありません。 また、別便で質問を出すつもりですがまたご指導いただけたら嬉しいです。

回答No.12

>test19.phpで保存しないで >上の項目だけはgazou.phpで保存して別にするということですか? ⇒その通りです。 「gazou.php」というファイルを画像であると見立てて、img srcにパス指定します。 PHPスクリプトも画像も他のファイルExcelファイルやWordファイルも全て、バイナリデータとして表現されます。 それらの画像ファイルなどをメモ帳(notepad)にドラッグ&ドロップしてみるとなにやら文字化けしたようなものが表示されてくると思います。 メモ帳は文字データを編集するソフトなので、文字データではないものをドラッグ&ドロップすると、文字データではないのに、がんばって文字データとして読み込もうとします。その為、文字っぽいところは文字に変換して変換できないところは適当な文字に割り振ったりして表現し、文字化けしたような変な文字列が羅列されます。 つまり、gazou.php内では、echo文を使ってやって、そのバイナリデータをメモ帳で表示したように表示します。 ブラウザは、画像データも文字データも扱うことが出来るわけですが、そのechoされたデータ列が文字なのか、はたまた画像なのか、指定がされていないまま表示しろと命令しても、上手く解釈できず、画像と認識してくれません。 そこで、header('image/gif'); という指定をしてやって、「今から出力する(echoする)ものはGIF画像ですよ」と先に指定(HTTPヘッダとして出力)してやります。 そうするとブラウザは画像と判断して表示します。 と、いうのが、gazou.phpで処理することの概要になります。

webchan
質問者

お礼

ありがとうございます!できました。三つ画像が並んで見えるようになりました。 そういうことだったのですね・・ これをもとに1つづつ数字を読み込んで画像を表示させるのをやりたいです。 ご説明も納得いきました。本当に感謝しています!

  • koke29
  • ベストアンサー率58% (114/196)
回答No.10

連投スミマセン 2や3の画像を出すなら ?number= の数字を変更すればOKです 赤・水色・黄色の★画像、ちゃんと見れましたよ

webchan
質問者

お礼

ご親切・丁寧でたすかりました。ここで回答いただいた方は本当に素晴らしいです。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.9

ちゃんと動いてますよ? http://hot-soup.sakura.ne.jp/test/test19_01.php?number=1 ↑これで見てみてください 実際にどういう風に使うのか不明なのですが リンクさせるなら<a href=ここに↑のようなURL>にするとか フォームならnumberを入力か選択させるものを作って送るとか やり方は人それぞれだと思います 前にも書きましたが、こういう方法もありますよっていう一提案なので これが普通ってことは無いと思います

webchan
質問者

お礼

あ~なるほど・・そうやるのですね? ど初心者ですみません。 問題はこの数字を文字列のファイルを読み込んで その文字列の何番目が0だったら非表示、1だったら赤い画像・・・という風にやりたいのです。 if文使うんでしょうけど・・・まとめ方を良く知らない為 長ったらしくなりそうです。まだたどりつきません。 でもここまではよくわかりました。ありがとうございます。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.8

#1.2.6です 提示頂いたコードで試してみたところエラーになったので header('Content-type: image/gif'); imagegif($gazou); ↑この2行をコメントアウト 私が提案した方法では、この2行は入れちゃダメみたいですね また if ($number1 == true) { は if ($number == true) { // $numner のあとの 1をとる としないと、if文が真にならないので、ここも修正箇所です 以上でたぶん表示は出来るようになると思いますー (サンプルコードで試したら表示出来ました)

webchan
質問者

お礼

大変遅くなりすみません。 直してみたのですが http://hot-soup.sakura.ne.jp/test/test19_01.php やはり変わらないようです。 サンプルコードとはどんな環境なのですか? 通常はその方法でやるのがいいのですか? どうもXHMLの問題なのでしょうか?その辺をさぐってみます。 ありがとうございました。

回答No.7

若干記述に間違いがありました。 PHP部分を下記にしたらいかがでしょう。 -----test19.php <?php $number1 = true; $number2 = true; $number3 = true; $number4 = false; if ($number1 == true) { echo'<img src="gazou.php?n=01" />'; } if ($number2 == true) { echo'<img src="gazou.php?n=02" />'; } if ($number3 == true) { echo'<img src="gazou.php?n=03" />'; } if ($number4 == true) { echo'<img src="gazou.php?n=04" />'; } ?>

webchan
質問者

お礼

大変遅くなりすみません。 おっしゃるとおりやってみましたが http://hot-soup.sakura.ne.jp/test/test19.php IEではファイルが三つならんでいますがファイルが壊れた状態。 firefoxは壊れていますとの事です。 XHTMLとの相性がわるいんでしょうか? 色々やってみます。 ありがとうございました。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.6

配列の方法での補足です $number = 2;なら 2が表示 $number = 3;なら 3が表示 実用的に考えると$numberの値は$_REQUEST/$_POST/$_GETの どれかで受け取ります HTML側で$numberにあたる数値を入力または選択した上でsubmit ↓ PHP側の処理 $number = $_REQUEST[number]; $gazo = array( "1" => "01.gif", "2" => "02.gif" ); echo'<img src="img/'.$gazo[$number].'" />'; とすると、HTMLで入れた値によって表示される画像が変わります こういう方法もありますよっていうことで、他の方の教えて下さっている 方法も試してみて扱いやすいもので作ってみて下さいねー

webchan
質問者

お礼

ご丁寧にありがとうございます。 考え方がそこまでいかないというのが現状ですが・・ http://hot-soup.sakura.ne.jp/test/test19_01.php やはり画像が壊れて表示されます。 しかし私のやり方が悪いのかもしれないですが こんな感じで入れてみました。 <?php $number = $_REQUEST[number]; // 画像をブラウザに出力します header('Content-type: image/gif'); imagegif($gazou); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=shift_jis" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <title>数字で分岐して画像を表示-numberを変数にするREQUEST</title> </head> <body> <div style="text-align:center;"> <?php $gazou = array( "1" => "01.gif", "2" => "02.gif", "3" => "03.gif" ); if ($number1 == true) { echo'<img src="img/'.$gazou[$number].'" />'; } ?> </div> </body> </html> 何度もすみません。

回答No.5

質問のニュアンスが分かりづらかったのですが、こういうことでしょうか。 -----gazou.php------- <?php $num = $_GET['n']; $gazou = imagecreatefromgif("img/{$num}.gif"); // 画像をブラウザに出力します header('Content-type: image/gif'); imagegif($gazou); ?> -----mainのHTMLのほう------- if ($number1 == true) { echo'<img src="gazou.php?n=1" />'; } if ($number2 == true) { echo'<img src="gazou.php?n=2" />'; } if ($number3 == true) { echo'<img src="gazou.php?n=3" />'; } if ($number4 == true) { echo'<img src="gazou.php?n=4" />'; } どうでしょう。

webchan
質問者

お礼

またありがとうございます。質問自体も結果があやふやな状態だったので、すみません。(本当はその数字をどうしたいのか・・ですよね?) 画像を変数にするのですね? 昨日その方法を試したところ(コピーしただけですが) 上に記述したところが http://hot-soup.sakura.ne.jp/test/test19.php このようになり画像が壊れた状態で表示されるようです。 ソースはこのようにただコピーしただけですが どこかがちがうのでしょうか? <?php $num = $_GET['n']; $gazou = imagecreatefromgif("img/{$num}.gif"); // 画像をブラウザに出力します header('Content-type: image/gif'); imagegif($gazou); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=shift_jis" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <title>数字で分岐して画像を表示-numberを変数にするGET</title> </head> <body> <div style="text-align:center;"> <?php if ($number1 == true) { echo'<img src="gazou.php?n=1" />'; } if ($number2 == true) { echo'<img src="gazou.php?n=2" />'; } if ($number3 == true) { echo'<img src="gazou.php?n=3" />'; } if ($number4 == true) { echo'<img src="gazou.php?n=4" />'; } ?> </div> </body> </html>

  • Sylar
  • ベストアンサー率71% (10/14)
回答No.4

$numberを変数として、 <? if($number=="0"){ echo '<p>0は非表示です。</p>'; }else{ echo '<img src="img/'.$number.'.gif">'; echo '<p>'.$number.'の画像です。</p>'; } ?> としてみては? >画像がうまくいかずIE6では一種類の画像だけ表示されて >他の新しいブラウザでは文字化けしてる状態です。 ブラウザの問題じゃないかと。 文字化けについてはエンコードの指定を確認してみてください。

webchan
質問者

お礼

ありがとうございました。遅くなりすみません。 すっきりした記述ですね 早速htmlのbody部分に <? if($number=="0"){ echo '<p>0は非表示です。</p>'; }else{ echo '<img src="img/'.$number.'.gif">'; echo '<p>'.$number.'の画像です。</p>'; } ?> を入れてみたら 画像は壊れていましたが、”の画像です。”と表示されました。 そこでhogehogeさんに教えられた様に↓を上の部分に追加したところ 1の画像のみが表示されるだけで’の画像です’はきえてしまっています。 <?php $gazou = imagecreatefromgif("img/01.gif"); // 画像をブラウザに出力します header('Content-type: image/gif'); imagegif($gazou); ?> 上の部分の記述が間違っているのでしょうか?

回答No.3

下記URLの例文を参考にして下さい。 http://php.online.bg/manual/ja/function.imagegif.php imagegif関数の前に、header関数で、Content-typeを指定します。(指定するというかHTTPヘッダを送出する)

webchan
質問者

お礼

ありがとうございました。お礼が遅くなりすみません。 content-typeというのを入れたら壊れてた画像ファイルが ちゃんと表示されました。 あと変な文字が消えました。すごいです!!! ただ1つの画像しか表示されていない状態です。 記述の仕方ですが、この場合 上の部分に↓この記述を入れました そしてkoke29さんとSylarさんの記述をhtmlのbodyに入れたところ どちらも1の画像しか出ておりません。・・・がそういうものなのでしょうか? <?php $gazou = imagecreatefromgif("img/01.gif"); // 画像をブラウザに出力します header('Content-type: image/gif'); imagegif($gazou); ?>

関連するQ&A

  • 次のPHP BASIC認証画面で

    My Realmですよ が文字化けするのですがどうすればいいのでしょうか? このphpをFC4ーPCに配置してWindowsMeーPCのブラウザでこのphpを表示させています <?php echo' <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/> <meta http-equiv="content-style-type" content="text/css"/> <title>goo</title> </head> <body> '; if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate:Basic realm="My Realmですよ"'); header('HTTP/1.0 401 Unauthorized'); echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n"; exit; } else { echo "<p>こんにちは、{$_SERVER['PHP_AUTH_USER']} さん。</p>"; echo "<p>あなたは、{$_SERVER['PHP_AUTH_PW']} をパスワードとして入力しました。</p>"; } echo' </body> </html> '; ?>

    • 締切済み
    • PHP
  • PHP、どうして認識しないのですか?

    現在の私のサイト(shtml)のソースは次のとおりです(甲)。これを下記(乙)のように書き換えてアップしましたが”こんにちは”の文字が現れません。 レンタルサーバーの問題ですか?ソースの問題ですか? (甲) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"> <HEAD> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW"> <TITLE>○○○</TITLE> (乙) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>○○○</title> </head> <body> <!--shtmlのソースの中に次を挿入しました--> <p> <?php echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; ?> </p> ----------------------- これが表示されません。 教えて下さい。どうしてですか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHP/Javascriptで画像表示の拡大

    PHP/JavaScript初心者です。 IE7でウィンドウに表示している画像を ウィンドウが拡大したことにより、画像も拡大したいのですがどうすればいいですか? IE8では違う方法できましたが、IE7ですとIE8でできた方法がだめで 質問させていただきます。 関連するPHPファイルで JavaScriptのwindow.open(xxx,width=800,height=600)で以下のPHPファイルを呼ぶようにしてます。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio … <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>文献表示</title> <meta http-equiv="Pragma" content="No-Cashe" /> <meta http-equiv="Cache-Control" content="No-Cache" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Type: image/jpeg" /> <!-- //--> <script type="text/javascript"> <!-- function win_zoom(){ var browse=navigator.appName; document.dspimg.style.visibility="hidden"; document.dspimg.style.visibility="visible"; window.resizeTo(900,700) *ウィンドウサイズを拡大拡大したことにより画像も拡大したい? location.reload(); } //--> </script> <!-- //--> </head> <body> <?php $fold= $_GET['fold']; $no= $_GET['no']; $jpgFiles = glob($fold . "*.JPG"); $cnt = count($jpgFiles); ?> <?php //画像表示 echo '<div align="center">'; <?php // 2011.04.28T.Yamada Update Start //拡大 ?> <INPUT type="button" Value="拡大" onclick="win_zoom()" > </div> </body> </html> </head> <body> <?php $fold = $_GET['fold']; $no = $_GET['no']; $jpgFiles = glob($fold . "*.JPG"); $cnt = count($jpgFiles); ?> <?php //画像表示 echo '<img name="dspimg" src="' . $jpgFiles[$no] . '" alt="' . $jpgFiles[$no] . '" width=800 height=600 " />'; // *** oku update end //echo '<hr />'; echo '<div align="center">'; <?php // 2011.04.28 T.Yamada Update Start //拡大 ?> <INPUT type="button" Value="拡大" onclick="win_zoom()" > </div> </body> </html>

  • .phpがブラウザで表示されない

    携帯サイトを作成したのですが、PCのブラウザで確認できないので少し不安です。 広告をいれたいため拡張子は.phpで作りました。 携帯では問題なく確認できるのですが、PCでアドレスを入力して確認しようとすると「このファイルを保存しますか、または開くためのプログラムをオンラインで検索しますか?」というポップアップウインドウが表示されて、PCでは確認することができない状態です。 タグは以下に記載します。 どなたか解決法がわかるかた教えて頂けないでしょうか? <?php header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="-1" /> <title>趣味のページ</title> </head>

    • ベストアンサー
    • PHP
  • echoで画像を呼び出すことができない

    現在、時刻によって呼び出す画像ファイルを変えようと思っています。その部分がこちらです <HTML> <HEAD> <META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.0 for Windows"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY> <?php //時間によって表示する画像を変更 $now = date('H'); if($now > 18){ echo "<img src="(画像ファイル名)">; }else{ echo "<img src="(画像ファイル名)">; } ?> </BODY> </HTML> echo内に他のhtmlタグを挿入すると普通に表示されるのですが、画像タグを挿入するとエラーが出ます。また、php外で画像タグを使用すると普通に表示されました。どなたか原因が分かる方いましたら教えて下さい、お願いします。

    • ベストアンサー
    • PHP
  • PHP データベースから画像出力

    現在PHPを習い始めたのですが、分からない所がありましたので ご質問をさせて頂きました。 質問の内容ですが、ファイルをBLOB形式にてMYSQLにアップロードをした のですが、そのあと格納された情報をどうしても取り出すことが出来ません。 こちらがそのスクリプトになります。 またmysqlのテーブルですがこのようになっています。 表示をさせようと試みたさいエラーメッセージとして、 mysql_fetch_object(): supplied argument is not a valid MySQL result resource in  と表示されます。 var_dumpで調べてみたのですが、$sql文が間違っているのではと思っているのですが定かではありません。 ID int インデックス MIME varchar MIMEタイプ Filename varchar ファイル名 Dbinary longbolb バイナリ本体 //echo1.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>無題ドキュメント</title> </head> <body> <?php //MySQLサーバに接続 if (!$int_connect = @mysql_connect('localhost','aaa','password')) { die("can't connect mysql server."); } //データベースに接続 if (!@mysql_select_db("test", $int_connect)) { die("can't use selected database."); } $sql = "select * from stddoc where(id=$_GET[id])"; var_dump($sql); $result = mysql_query($sql); $row = mysql_fetch_object($result); //var_dump( $row ); echo $row[3]; ?> </body> </html> //またこちらが表示しようとしているスクリプトです。 echoo2.php <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8”> <title>画像表示</title> </head> <body> <p>MySQLのBLOBにバイナリで格納した画像を表示してみます。 </p> <?php echo "<img src=\"echo1.php?id=1\">" ?> </body> </html> どなたかお分かりになるかたがいましたら是非ご教授して頂けませんでしょうか。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 画像表示の拡大表示について。

    画像の拡大表示について? やじりたいこと、画面上に表示している画像を拡大ボタンが押されたときに 表示しているウィンドウ/画像が拡大表示し、 拡大表示している場合、「前へ」「後へ」が押されたとき、拡大表示している ウィンドウ/画像でページが切り替えたい。 以下のソースでは 「拡大」ボタンを押したときにウィンドウ・画像を表示しますが 拡大した状態で、「前へ」「後へ」押したとき、ウィンドウは拡大しているが 画像が元のサイズに戻ってしまいます。 ソースの<img name = "dspimg" src="..... 部分でwidth/height をピクセルで 指定してるため、元に戻ってしまうと思います。width/height を%で指定した 場合、IE8ではやりたいことができますが、IE7だと画像がウィンドウ前面に出たりして うまくいきません。 長々と申し訳ありませんが、 どうすれば、うまくいくか、ご教授ください。 よろしくお願いします。 ■PHPソース <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>画像拡大</title> <meta http-equiv="Pragma" content="No-Cashe" /> <meta http-equiv="Cache-Control" content="No-Cache" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <script type="text/javascript"> <!-- function zoom(){ window.resizeTo(900,750); document.all("dspimg").style.width = 880 ; document.all("dspimg").style.height = 650; } //--> </script> </head> <body> <?php $fold = $_GET['fold']; $no = $_GET['no']; $jpgFiles = glob($fold . "*.JPG"); $cnt = count($jpgFiles); ?> <?php   // ここで、 width=800 height=600にしているから、再度、呼ばれたときに画像が元に戻る。 echo '<img name = "dspimg" src="' . $jpgFiles[$no] . '" alt="' . $jpgFiles[$no] . '" width=800 height=600 " />'; ?> <input <?php print $bt ?> type="button" value="&lt 前へ" onclick="location.href='./view.php?fold=<?php print $fold; ?>&no=<?php print $no - 1; ?>'" /> <?php //次の10件 if($cnt - 1 != $no) { $bt = ""; } else { $bt = "disabled"; } ?> <input <?php print $bt ?> type="button" value="次へ &gt" onclick="location.href='./view.php?fold=<?php print $fold; ?>&no=<?php print $no + 1; ?>'" /> <?php //閉じる //"#" onClick="window.close(); return false; ?> <INPUT type="button" Value="閉じる" onClick="window.close(); return false;"> <?php //拡大 ?> <INPUT type="button" Value="拡大" onclick="zoom();" > </div> </body> </html>

    • ベストアンサー
    • PHP
  • 一つのphpファイルでframeset

    現在、一つのphpファイルからframesetで分割する方法を模索しておるのですが、どうやっても上手くいかずに困っている次第です。 内容は下記のコードになります。 どなたかご教授していただければ幸いです。 宜しくお願いいたします。 help.php-------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <?php $column = htmlspecialchars($_GET["column"]); if(!$column){ echo <<<EOD <frameset cols="150,*" frameborder="1" scrolling="auto"> <frame name="menu" src="help.php?column=menu" noresize /> <frame name="content" src="help.php?column=content" /> </frameset> <noframes> 申し訳ございません。<br /> あなたのブラウザではこのページをご覧頂けません。<br /> 最新版のブラウザをお使い下さい。 </noframes> EOD; }elseif($column == "menu"){ echo "aaa"; }elseif($column == "content"){ echo "bbb"; } ?> </body> </html>

    • ベストアンサー
    • PHP
  • 画面(ウィンドウ)/画像の拡大縮小について

    PHP/JavaScript初心者です。 PHPとJavaScriptと以下のようなことをしてます、 画面(ウィンドウ)上に画像が表示し 「拡大」ボタンを押したら ウィンドウ/画像を拡大して表示 「リセット」ボタンを押したら ウィンドウ/画像を元のサイズに戻してして表示 をしたいのですが、どうすればいいですか? 関連ありそうな、ソースを以下に書きます。 dspimg.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>文献表示</title> <meta http-equiv="Pragma" content="No-Cashe" /> <meta http-equiv="Cache-Control" content="No-Cache" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <script type="text/javascript"> <!-- //画面/画像を拡大/縮小 function win_zoom(w,h){ window.resizeTo(w,h) location.reload(); } //--> </script> </head> <body> echo '<img id="dspimg" src="ppp.jpeg" alt="ppp.jpeg" width=600 height=400 " />'; <?php //拡大 ?> <INPUT type="button" Value="拡大" onclick="win_zoom(800,700)" > echo '<div align="center">'; <?php //リセット ?> <INPUT type="button" Value="リセット" onclick="win_reset(600,500)" > </div> </body> </html>

  • SafariでPHPソースがそのまま表示される

    Safariでindex.phpを開くとソースコードがそのまま表示されてしまいます。 拡張子をphpとしているだけでソース内にはphpスクリプトは記述しておりません。 なぜでしょうか? ※ファイル名をindex.htmlに変えると正しく表示されます。 Windows 7 Home Premium 64bit Safari5.1.5 ソースコードのエンコーディング:utf-8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="content-style-type" content="text/css" /> <meta http-equiv="content-script-type" content="text/javascript" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <title>テストtitle> </head> <body> <h1>テストページ</h1> </body> </html>

専門家に質問してみよう