这是我使用的代码:
<?php
$dir = "House Of Cards/";
$videoW = 320;
$videoH = 240;
if (is_dir($dir))
{
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if($file != '.' && $file != '..'){
echo "
<div style='display: block'>
<a href= \"$dir/$file\">Watch \"$file\"</a>
</div>
";
}
}
closedir($dh);
}
};
?>
我尝试在我的路由器上托管一个带有php的小型简单http服务器,这样我就可以在工作时将视频流式传输到手机上
基本上,我在每个有视频的文件夹中都有一个index.php
这种工作正常,当视频编码正确时,但当它列出文件夹中的视频时,它们不是“按字母顺序排列”或非按顺序排列
他们这样出现了:Watch "House Of Cards S01E01.mp4"
Watch "House Of Cards S01E08.mp4"
Watch "House Of Cards S01E05.mp4"
Watch "House Of Cards S01E11.mp4"
Watch "House Of Cards S01E03.mp4"
Watch "House Of Cards S01E10.mp4"
Watch "House Of Cards S01E02.mp4"
Watch "House Of Cards S01E07.mp4"
Watch "House Of Cards S01E09.mp4"
Watch "House Of Cards S01E13.mp4"
Watch "House Of Cards S01E12.mp4"
Watch "House Of Cards S01E04.mp4"
Watch "House Of Cards S01E06.mp4"
任何人都知道如何让这段代码变成后续或“按字母顺序排列”的列表?
答案 0 :(得分:0)
你应该看看这里:natsort
本质上,此函数将使用算法对“自然”中的文件进行排序。订单,而不是现在的字母。
要添加到代码中,您可以在循环浏览目录中的文件时将所有文件添加到数组中,最后运行natsort,然后再打印每个文件的链接。
<?php
$dir = "House Of Cards/";
$videoW = 320;
$videoH = 240;
$files = []; // Initialize empty array
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') {
$files[] = $file; // add this file to array
}
}
closedir($dh);
}
}
natsort($files); // naturally sort files
// make a link for each file...
foreach ($files as $file) {
echo "<div style='display: block'>
<a href= \"$dir/$file\">Watch \"$file\"</a>
</div>";
}
希望这有帮助!
答案 1 :(得分:0)
if (is_dir($dir))
{
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if($file != '.' && $file != '..'){
$files[] = $file;
}
}
closedir($dh);
}
};
$arrat_order[] = natsort($files);
foreach($arrat_order as $value){
echo "
<div style='display: block'>
<a href= \"$dir/$value\">Watch \"$value\"</a>
</div>
";
}