質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

1672閲覧

PHPで画像を並べて表示

seriko

総合スコア29

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/10/20 11:55

編集2020/10/20 13:45

前提・実現したいこと

お世話になっております。
PHPとHTMLを使い画像とそのファイル名を下記のような3*2で表示したいです。

画像      画像      画像
ファイル名   ファイル名   ファイル名

画像      画像      画像
ファイル名   ファイル名   ファイル名

しかし以下のエラーが出てしまい行き詰まっています。ご教示よろしくお願いいたします。

発生している問題・エラーメッセージ

syntax error, unexpected end of file in(略)on line 47←最終行です

該当のソースコード

PHP

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>画像一覧</title> 6 </head> 7 <body> 8 <h1>画像一覧</h1> 9 <?php 10 //画像の保存先のディレクトリ 11 $dir='uploads'; 12 $dir_s='uploads/s/'; 13 14 //ディレクトリ内のファイルを取り出す 15 $files=scandir($dir_s); 16 //ファイルの取り出し 17 foreach($files as $file){ 18 //ファイル情報を取り出す 19 $file_info=pathinfo($file); 20 //ファイル名 21 $file_name=$file_info['basename']; 22 //ファイルの拡張子 23 $file_ext=$file_info['extension']; 24 //JPEG形式のファイルを表示する 25 if($file_ext=='jpg'|| 26 $file_ext=='JPG'){ 27 ?> 28 <table> 29 <?php 30 for($a=1;$a<=3;$a++){ 31 echo '<tr>'; 32 for($i=1;$a<=2;$i++){ 33 echo '<td>'; 34 ?><img src="<?php echo $upload_name_s; ?>"> 35 <?php 36 echo $file_name;//画像の名前 37 echo '</td>'; 38 } 39 echo '</tr>'; 40 } 41 ?> 42 </table>; 43 <?php 44 } 45 } 46 ?> 47 </body> 48</html>

試したこと

かっこの閉じ忘れなどを確認しましたがエラーの原因はわかりませんでした。

追記

プログラムを修正しました。エラーはなくなりましたが、1番目(左上)の画像とそのファイル名が永遠と横ならびに表示されてしまいました。どこがおかしいのでしょうか・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2020/10/21 03:02

回答が付いた質問の編集は慎重に行ってください。質問文のコードについて回答にて指摘があった場合は「追記」し、元のコードを編集する場合も「直したこと」がわかるようにしてください。後から見た人から見て、現在回答されておられる方の回答が「無いコードに対しての指摘」になり、意味がわからなくなります。
guest

回答3

0

全角スペースが沢山あります。
イメージ説明
もちろんそれだけで想定通りのレイアウトが出来るかは別ですが。

投稿2020/10/20 12:04

m.ts10806

総合スコア80857

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seriko

2020/10/20 13:18

回答ありがとうございます。直させていただきました。
m.ts10806

2020/10/20 13:19

元々そうなっていたのか、転記ミスなのかでこちらの対応も変わります。 あとは、きちんとPHPコードがPHPタグで囲われているか確認してください。 特にPHPタグ内に複数行コードがある場合、PHPタグの行頭にインデントがあると対応が見えづらくなります。
seriko

2020/10/20 13:30

転記の際に全角スペースを作ってしまいました。PHPタグの確認も気をつけます。
m.ts10806

2020/10/20 21:03

コードもエラーもコピペが原則です。 あらぬ詮索を強いるので的確な回答に繋がりませんし、回答が無駄になります。
guest

0

自己解決

img srcの指定パスが間違っていました。テーブルタグの使い方(書く場所)も間違っていたので改めて勉強し直します。

投稿2020/10/21 06:34

seriko

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

最後の閉じタグの前後にphpタグが必要です。

</table> <?php ←これを入れる } } ?> ←これを入れる </body> </html>

投稿2020/10/20 12:18

firegrape

総合スコア902

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seriko

2020/10/20 13:27

回答ありがとうございます。修正し、エラーはなくなりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問