Как использовать базу данных для создания страницы с несколькими папками? - PullRequest
0 голосов
/ 19 ноября 2011

Сценарий: я пытаюсь создать Портал мобильных развлечений. Это позволит пользователям загружать музыку и фильмы на свои мобильные телефоны ...

Проблема Exp: Предположим, я загружаю 100 папок песен, каждая папка для одного альбома. Я хочу создать страницу со всеми именами папок (Album Name). Если пользователь нажимает на страницу, он должен перейти на страницу, где он получает список всех песен в альбоме. Нажав на название любой песни, вы сможете скачать ее. Можно ли это сделать в любом случае, или мне придется вручную оформить каждую из 3 страниц каждого альбома. Если я это сделаю, это займет много времени, а также будет трудно изменить что-либо вроде нижнего колонтитула, заголовок ...

1 Ответ

1 голос
/ 20 ноября 2011

Прежде всего, это взвешенный вопрос.Но я постараюсь ответить на некоторые из ваших вопросов, чтобы вы начали.

Вы можете сканировать каталоги, используя scandir() в PHP.

$path = '/path/to/music';
$dir  = scandir($path);
if (is_array($dir)) {
    foreach ($dir as $directory) {
        if (is_dir("{$path}/{$directory}")) {
            // validate that it's among the directories you want
        }
    }
}

Итак, теперь вы знаете, какСделайте это, возможно, вместо того, чтобы пытаться создать отдельную страницу для каждой папки альбома, вы можете использовать один сценарий и, основываясь на параметрах GET, отобразить соответствующий контент.например,

domain.com/index.php?album=Album+Name

Теперь давайте посмотрим, как это может работать с приведенным выше примером:

// assume your album folder names use underscores
$album = (isset($_GET['album'])) 
    ? str_replace('+', '_', $_GET['album'])
    : null;
$path  = '/path/to/music';
$dir   = scandir($path);
if (is_array($dir)) {
    foreach ($dir as $directory) {
        if (is_dir("{$path}/{$directory}") && $album == $directory) {
            // now, scan for files
        }
    }
}

Затем, чтобы получить файлы, когда вы просматриваете каталоги, вместо проверки, еслиэто это каталог, проверьте, что это , а не каталог, и это даст вам ваши файлы.(например if (!is_dir(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...