1

私はこれを実現する方法を考えようとしています。

jQueryスライドショーを使用して画像を表示し、単純なphpスクリプトを使用して、ユーザーが選択したギャラリーに基づいてフォルダーから画像を取得しています。

    $handle = opendir(dirname(realpath(__FILE__)).'/../images/gallery/'.$gallery);
while($file = readdir($handle)){
    if($file !== '.' && $file !== '..'){
        $pictures .= '<img src="images/gallery/'.$gallery.'/'.$file.'" alt="" />';
    }
}

6つの異なるギャラリーがあり、各ギャラリーの写真の量は約25〜40枚であるため、このようにしています。サイトを静的に実行した場合、またはデータベースを実行している場合は問題ありませんが、PHPでこれを実行する方法は考えられません。

基本的にここに私がしたいことの例があります:私はすべての画像とテキストをハードコーディングしました

しかし、このページでは、それを行うための良い方法を考えることができません

4

2 に答える 2

2

説明のように各フォルダにファイルを追加できますinfo.txt。ロード時に file_exists() をチェックし、ファイルからデータを取得します。

写真ごとに desc を設定したい場合は、次のように簡単に実行できます。

ファイルの場合:

  • 花.jpg
  • クラウド.jpg
  • 女の子.jpg

info.txt:

flower.jpg::This is flower
cloud.jpg::This is cloud
girl.jpg::This is girl

それで、info.txt を読み、行ごとに展開し、最後に行を展開します。その結果、説明とファイル名を含む配列が得られます。

于 2013-02-05T15:38:17.033 に答える
-1

おそらくそれを行うための最良の方法ではありませんが、これが私がそれを達成した私の回避策です:`私は画像の名前を変更しました:01-鳥、02-猫

$handle = opendir(dirname(realpath(__FILE__)).'/../images/gallery/'.$gallery);
while($file = readdir($handle)){
    if($file !== '.' && $file !== '..'){

        $alt = substr($file, 3, -4); //Removes the "##-" and the ".jpg"
        $id = substr($file, 0, 2); // Removes EVERYTHING after the "##"

    // The image
        $pictures .= '<img src="images/gallery/'.$gallery.'/'.$file.'" alt="'.$alt.'" data-caption="#cap'.$id.'" />';
    // The text
        $span .= '<span class="caption" id="cap'.$id.'">'.$alt.'</span>';

    }
}`
于 2013-02-05T19:51:24.383 に答える