• ベストアンサー

phpで格納した画像を表示されるには?

超の付く初心者で毎日苦闘しています。ほんとにすみませんが何方か教えてください。 「(1)写真を登録して、(2)それを表示させる」だけの事を練習でやっているんですが、どう書けばいいんでしょうか。 (1)【画像登録のフォーム】/test_info.html ----------------------------------------------------------- <form action="test_put.php" method="post" enctype="multipart/form-data"> <INPUT type="hidden" name="MAX_FILE_SIZE" value="500000"> //←500kbまでという意味なんですよね? <input type="file" name="uploaded" size="50" /><br /> <input type="submit" value="アップロード" /> </form> ------------------------------------------------------------ (2)【画像を一旦受けて、指定するフォルダに移動させるPHP】/test_put.php ------------------------------------------------------------ <?php move_uploaded_file($_FILES['uploaded']['tmp_name'],'./images/'.$_FILES['uploaded']['name']); print('アップロードに成功しました!<br />'); print $_FILES['uploaded']['name']; ←この部分を文字ではなく画像で! ?> ------------------------------------------------------------- 上記は殆ど本・Webのパクリですが、矢印部分に「画像を出しなさい!」という命令を書けばいいんだと思いますが、それがわかりません。なんと書けばいいんでしょうか? 【状況】 ●ロリポップのサーバーに実際にアップして試しています。 ●/test_info.html 画面から適当な写真データを送信すると/test_put.php 画面に遷移して、「アップロードに成功しました!」改行して「****.jpg」と表示されます。  ●ロリポのftp管理画面上で確認すると、アップした写真データは正常にアップされています。 mysqlに行くまでのスタートにも立てない状態です。ここまで何ヶ月も掛かってこんなもんです(^_^;) どなたかよろしくお願いいたします!

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

>> <INPUT type="hidden" name="MAX_FILE_SIZE" value="500000"> //←500kbまでという意味なんですよね? そういう意味です >> print $_FILES['uploaded']['name']; ←この部分を文字ではなく画像で! imgタグを使って、move_uploaded_fileで移動したパスを指定します。 print '<img src="./images/'.$_FILES['uploaded']['name'].'">'; 注)move_uploaded_file($_FILES['uploaded']['tmp_name'],'./images/'.$_FILES['uploaded']['name']); では、同名のファイルがアップされると前のファイルが消えてしまうので、それがまずい場合はファイル名に連番や時間なども付加しておいた方が良いですよ

aho-neko
質問者

お礼

ご丁寧にありがとうございました! 教えていただいた構文でうまく出来ました!! 感動です(笑) でも本当に嬉しいです。 その後に、めちゃくちゃながらサイズを入れたら大きさもうまく表示されました。 最初 print(img scr=".images/$_FILES['uploaded']['name'].'") とかいろいろ試しまくっていたんですが、書き方がおかしくてエラーの連発でした。 ご親切にほんとにありがとうございます。 一歩進んだ気がして大変嬉しいです!!

すると、全ての回答が全文表示されます。

その他の回答 (3)

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

mpx様の記述のように、画像フォルダを指定しないとダメですよ (私のはフォルダ名がわからないので、「のような記述」としています) 操作の流れなど丁寧に説明して下さっているので mpx様のレスを参考になさった方がお勉強になると思いますよ! 私はHTMLもPHPもMYSQLも全部独学で基礎があやふやなので あくまで参考意見として受け止めて下さい

aho-neko
質問者

お礼

koke29様 ご親切にありがとうございました! mpx様の書いていただいた文面でうまく出来ました。 「”」や「’」の付け方をしっかり理解していないのでどうも難しく思えてしまいます。 書き方さえわかれば出来る気がするんですが(当たり前)、やっぱり基本が大事ですよね。 基本を勉強しようと思います。ありがとうございました!

すると、全ての回答が全文表示されます。
  • koke29
  • ベストアンサー率58% (114/196)
回答No.2

スミマセン "の位置おかしいので訂正です print "<img src=\"".$_FILES['uploaded']['name']."\">"; でした

aho-neko
質問者

補足

早速ありがとうございます! htmlももっと勉強します。 それで、訂正していただいた、 print "<img src=\"".$_FILES['uploaded']['name']."\">"; に差し替えて試しているんですが、写真が表示されません。 <?php move_uploaded_file($_FILES['uploaded']['tmp_name'],'./images/'.$_FILES['uploaded']['name']); print('アップロードに成功しました!<br />'); print "<img src=\"".$_FILES['uploaded']['name']."\">"; ?> いろいろ打ち直してみているんですが何がダメなのでしょうか。。。 度々すみません。

すると、全ての回答が全文表示されます。
  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

画像の表示はHTMLタグですよ なので print "<img src="\".$_FILES['uploaded']['name']."\"" />"; というような記述です HTMLタグはPHPより前に勉強すべきことですので、ここがまだなら 先に勉強して下さい mysqlはまだまだ先です

すると、全ての回答が全文表示されます。

関連するQ&A