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

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

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

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

Q&A

解決済

1回答

808閲覧

ディレクトリ内の画像を出力させたい

hati3693

総合スコア24

PHP

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

0グッド

0クリップ

投稿2018/10/15 05:57

編集2018/10/15 06:38

お世話になります。
PHPでディレクトリ内の画像を出力させたいのですがうまくいきません。
やりたいこと
今回やりたいのは、ccc.phpからimg内からソートした最新画像を出力する部分です。
ccc.phpでソート→最新画像を出すところまではできていますが、別階層で出力ができずにいます。
どの階層でも同じように画像を出力させるにはどうすればよいでしょうか。

test/  -aaa/    eee.php  -bbb/    -inner/     ccc.php    -img/     ddd.jpg

ccc.php

php

1$path = dirname(__FILE__)."/../img/" ; 2$filesarray = array(); 3$fname = $path.$file; 4if ($handle = opendir($path)) { 5 while (false !== ($file = readdir($handle))) { 6 if ($file != "." && $file != "..") { 7 $filesarray[filemtime( $fname )] = $file; 8 } 9 } 10 closedir($handle); 11} 12ksort($filesarray); 13 14if ($handle = opendir($path)) { 15 foreach($filesarray as $file){ 16 echo "<img src='../img/".$file.">";//ここの../img/の部分をdirname(__FILE__)をつかってやりたい 17 } 18 closedir($handle); 19} 20

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

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

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

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

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

m.ts10806

2018/10/15 06:23

現在起きている問題は何でしょうか。起きている現象を具体的に記載してください。ディレクトリ構成もこれだと非常にわかりづらいと私は感じました。何と何が同階層か、親子になっているのはどれか、などもう少しわかりやすくしていただければと。code内であれば空白も使えたはずなので、空白など使われたほうが良いかもしれません。
m.ts10806

2018/10/15 06:27

$filesarrayには正しくとれてるかとか質問者さんで確認できることはまだありそうにも思います。
hati3693

2018/10/15 06:45

画像の出力は問題ないのですが、別階層で表示したときにでてこないので、どの階層でも表示できるようdirname(__FILE__)を使ってやろうとしていますがうまくできず躓いています。ちなみに$filesarrayには「ファイル名.jpg」が入っています
guest

回答1

0

自己解決

別にdirname(FILE)を使わなくてもできたので解決にします。凡ミスでした

echo "<img src='/img/".$file.">";//サイトルート相対パス

投稿2018/10/15 06:51

hati3693

総合スコア24

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

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

hati3693

2018/10/15 08:04

その書き方を悩んでました! 無事解決できました。ありがとうございます
hati3693

2018/10/15 08:29

と思ったのですが、__DIR__ではうまくいかなかったです。 syntax error, unexpected '__DIR__' (T_DIR), expecting ',' or ';' とエラーが出てきてしまったのでもう少し考えたいと思います。
m.ts10806

2018/10/15 08:55

どう書いたかわからないのでなんとも言えませんが、syntax errorなので単に書き方の問題ではないかなと。 私が提示したPHPマニュアルの変更履歴のところを見ていただければ分かりますが__DIR__は5.3.0で追加されたものなのでよほどレガシーな環境でないと使えないということはないかと思いますし。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問