如何按名称对 php 目录列表进行排序?
How can I sort this php directory list by name?
所以,只是希望我的 webdrive 文件夹是“可浏览的”,所以我找到了这个脚本来为我做这件事。
问题是,列表没有按名称排序
需要如何修改代码才能按文件名排序?
<?php
$dir_open = opendir('.');
while(false !== ($filename = readdir($dir_open))){
if($filename != "." && $filename != ".."){
$link = "<a href='./$filename'> $filename </a><br />";
echo $link;
}
}
closedir($dir_open);
?>
您可以将文件名存储在数组中,然后使用 sort()
对它们进行排序
$files = [];
$dir_open = opendir('.');
while(false !== ($filename = readdir($dir_open))){
if($filename != "." && $filename != ".."){
$files[] = $filename; // store filename
}
}
closedir($dir_open);
// Then, sort and display
sort($files);
foreach ($files as $filename) {
$link = "<a href='./$filename'> $filename </a><br />";
echo $link;
}
所以,只是希望我的 webdrive 文件夹是“可浏览的”,所以我找到了这个脚本来为我做这件事。 问题是,列表没有按名称排序 需要如何修改代码才能按文件名排序?
<?php
$dir_open = opendir('.');
while(false !== ($filename = readdir($dir_open))){
if($filename != "." && $filename != ".."){
$link = "<a href='./$filename'> $filename </a><br />";
echo $link;
}
}
closedir($dir_open);
?>
您可以将文件名存储在数组中,然后使用 sort()
$files = [];
$dir_open = opendir('.');
while(false !== ($filename = readdir($dir_open))){
if($filename != "." && $filename != ".."){
$files[] = $filename; // store filename
}
}
closedir($dir_open);
// Then, sort and display
sort($files);
foreach ($files as $filename) {
$link = "<a href='./$filename'> $filename </a><br />";
echo $link;
}