jQueryのtoggleタブによって非同期通信でload()するファイル(HTML、PHP)を切り替えるサイトを作っています。
その中で、BootstrapのプラグインimageGalleryとPHPによるフォルダ内のファイル全ての名前を取得する関数を用いて、フォルダー内にある画像をギャラリーのように表示するPHPファイルがあるのですが、実際にサーバにアップして確認したところ、サムネイル画像一覧が表示されなくて困っています。
![読み込み失敗]WIDTH:600
具体的には…
・ローカルホストでは正常に表示。ftpサーバにアップしてアクセスしたところ、該当ページのサムネイル画像一覧が表示されていない。(⇒サーバの問題?)
・本来の動作は、サムネイル画像をクリックすると対応した画像が拡大表示されるというもの。しかし、サムネイル画像が読み込まれていない状態でどれか適当なものをクリックしてみると、対応していないがとにかく正常に読み込まれたものが拡大表示されている様子であり、対応関係がめちゃくちゃ。(⇒非同期通信のせい?)
・サムネイル画像全てを合計しても2MBほど。他のページの1枚2MBほどの画像は正常に表示されている。(⇒個々の大きさが小さくとも複数画像を一斉に読み込むのがサーバの負荷に?)
・キャッシュをクリアし、IEとOperaで確認したが、変化なし。
・Operaの要素検証によると、「 Failed to load resource: the server responded with a status of 404 (Not Found)」というエラーが生じている。
となっています。
ソース
HTML HEAD部分
lang
1$(function(){ 2 $("#galleryTab").click(function(){ 3 $("#tab4").show(); 4 5 if($("#tab4").css("display") == "block"){ 6 7 $("#tab1").hide(); 8 $("#tab2").hide(); 9 $("#tab3").hide(); 10 11 $.ajaxSetup({ 12 cache: false 13 }); 14 15 $("#gallery").load("gallery.php"); 16 17 }else{ 18 alert("ギャラリー読み込み失敗"); 19 } 20 21 });
HTML BODY部分
lang
1<div class = "tab-pane fade" id="tab4" style="display:block"> 2 <div id = "gallery" style=""></div> 3</div> 4
imageGalleryを用いた読み込むファイル gallery.php
(拡大表示する画像収納フォルダ⇒images サムネイル画像収納フォルダ⇒resize)
lang
1<?php 2 3echo "<div id = \"links\" style=\"margin-top:50px\">"; 4 5if ($dir = opendir("images/")) { 6 while (($file = readdir($dir)) !== false) { 7 if ($file != "." && $file != "..") { 8 echo "<a href=\"./images/{$file}\" title=\"\" data-gallery><img src=\"./resize/{$file}\" alt=\"\" style=\"width:80px;height:50px;\"></a>"; 9 10 } 11 } 12 closedir($dir); 13} 14echo "</div>" 15?> 16 17<!-- The Bootstrap Image Gallery lightbox, should be a child element of the document body --> 18<div id="blueimp-gallery" class="blueimp-gallery"> 19 <!-- The container for the modal slides --> 20 <div class="slides"></div> 21 <!-- Controls for the borderless lightbox --> 22 23 ~~~以下略~~~
今回初めてサーバを利用したので、この現象について色々と調べてはみましたが、初心者の私には原因を突き止めることができませんでした。
初歩的な内容で申し訳ありませんが、考えられる原因と解決策について教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/12/03 14:12
2014/12/04 01:42