質問: https://webnetamemo.com/coding/php/201608313448 このサイトを参考に、ランダムで一枚だけ表示されるコードを書いていて、仮想(AtomIDE)で見ると上手く行っているぽいのですが、サーバー(ロリポップ)のサイトで見ると表示されない状態です。 ``` '; ?> ``` チェックしたのは ・画像ファイルの階層と指定(置き場所) ・ファイル名ミス(大文字小文字など) ・サーバーにアップロードしたか で、それらは問題なしでした。 仮想では ``` ``` と(たぶん)ちゃんとHTML化されています。 どうしたらサイトに画像を表示できますか? コード内どこかで間違えているところがあったら教えていただきたいです 追記: ![jpg階層](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/5b0c327e404313cf84c67893cc450428.png) 画像で載せたんですが、HTMLのファイルと画像は同階層になっていますか?(私の思っていたのと違うかもしれないので確認していただけると助かります) あと、ブラウザで確認したソースでは画像部分が ``` ``` になっていました。この時点で$image_rand.ではなくファイル名(img_6521.pngなど)が指定されていないとダメということでしょうか?
回答: まとめメモです kei344さん、m6uさん、goufさん、3人のすごい方々に助けていただきました。 本当にありがとうございました! 1:画像の状態から ``` $image_rand = $image_array[mt_rand(0,count($image_array)-1)]; echo ''; ``` に変更。 (・ここで’’の打ちミス直しと ``` $image_rand=$image_rand ↓ $image_rand=$image_array ``` に変更している) 結果↓ 出力が ``` から ``` と、ちゃんとランダム出力されるようになる。(仮想・ローカル・ロリポップサーバー全て) 2:(ここでAtom php-serverを導入して仮想とローカルサーバーでは表示も出来ていることを確認) 3:ロリポップサーバーの画像表示のみ、上手くいかないのでアップロードやパス、フォルダの階層に問題があるとわかる。 4:アップロードがファイルごとでなく画像毎にやっているのでファイルの階層がローカルとロリポップサーバーの方で違ってしまって表示されないのでは?と推測。 ~~ファイルごとアップロードする方法が見つからなかったので画像それぞれをHTMLと同じ階層に移してアップロードし直す~~ (これは画像ファイルが増えてきたら見づらいので、まとめたフォルダに入れたまま上手くアップロードする方法を探したいと思います) →3/13追記:ロリポップアップロードページにて、「新規ファイル」を作成すると、その中に階層分けして画像をアップロードできました。(なのでファイル内で画像とテキストファイルが混在することなく見易くなりました) ↓ 5:ロリポップサーバーでも表示成功!いえーい