场景:我正在尝试构建移动娱乐门户。它将使用户能够下载Music&电影到他们的手机......
问题Exp:假设我上传了100个歌曲文件夹,每个文件夹用于一个专辑。我想要一种方法来生成一个包含所有文件夹名称(专辑名称)的页面。如果用户点击页面,他们应该被带到一个页面,在那里他们获得相册中所有歌曲的列表。点击任何歌曲名称即可让他们下载。无论如何都可以完成,或者我必须为每张专辑手动设计3个页面中的每一个。如果我这样做,它耗费时间并且很难改变像页脚,标题......
答案 0 :(得分:1)
首先,这是一个加权问题。但我会尝试回答你的一些问题,以帮助你开始。
您可以使用PHP中的scandir()
扫描目录。
$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
vars,显示相应的内容。 e.g。
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(...
)