0

サーバーのファイル構造を使用して、画像ギャラリーのナビゲーション メニューを自動的に作成できるかどうか疑問に思っていました。現在、画像のさまざまなフォルダーへのリンクがハードコーディングされた単純な「ショーケース」があります(jqueryとajaxとphpを使用して、よく理解していないが、チュートリアルなどから使用方法を学びました)。基本的に、次の 3 つのファイルがあります。

  • main.php
  • main.css
  • images.php

また、main.php のハード リンクを使用して images.php スクリプトを呼び出し、画像を含む特定のフォルダーをメイン ページの div に読み込みます。

これが私の現在のナビ設定です:

 <ul>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/animals')">Animals</a></li>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/people')">People</a></li>
    <li><a href="#" onclick="loadPage('images.php?dirname=images/objects')">Objects</a></li>
</ul>

私の質問は次のとおりです:すべての画像は「画像」ディレクトリの下のサブディレクトリにあるため、「画像」のサブディレクトリの名前を使用してナビゲーションポイント(phpスクリプト?)を作成する方法はありますか? (フォルダを追加しても最新の状態に保たれるように)

また、何らかの理由でスクリプトの変数に「images.php?dirname=images/」を含めることができません。これを修正する方法はありますか?

4

1 に答える 1

1

それらがすべてimagesディレクトリにある場合は、$image_path

<?php
$image_path = '/full/path/to/images';
if ($_GET['gallery']) {
    $gallery_path = $image_path . '/' . $_GET['gallery'];

    # if $_GET['gallery'] is `animals`:
    # 
    # $gallery_path = '/full/path/to/images/animals'

    # load your images within this path
}
?>

すべてのサブディレクトリを取得するには、dirを使用します

<?php
$image_path = '/full/path/to/images';
$d = dir($image_path);
while (false !== ($entry = $d->read())) {
    if (is_dir($image_path . $entry)) {
        if (($entry != '.') || ($entry != '..')) {
            echo $entry; # or print your html code for each directory.
        }
    }
}
?>
于 2013-06-23T05:10:40.617 に答える