这是我的阵列 基本上现在我有一个包含100,000张图像的目录。所有都是不同的名称,如d2jd29df.png fj329f.png等。我希望它在网页上按字母顺序列出。有人能给我一个正确的推动方向吗?
答案 0 :(得分:0)
您需要将整个目录读入数组,然后按字母顺序自然地对数组(即人类的方式)进行排序。最后,迭代每个文件并回显每个文件的文件名。
<?php
$files = array();
$dir = '/path/to/images';
$handle = opendir($dir);
if ($handle) {
while (false !== ($file = readdir($handle))) {
if ($file !== '.' && $file !== '..') {
$files[] = $file;
}
}
closedir($handle);
}
sort($files, SORT_NATURAL);
foreach ($files as $file) {
echo $file.'<br />';
}
答案 1 :(得分:0)
试试这个:
<?php
$dir = "path/to/image";
$images = glob("$dir/*.*");
$items = [];
foreach ($images as $image) {
$items[] = basename($image);
}
sort($items, SORT_STRING);
foreach ($items as $item) {
echo $item . '<br>';
}
将$ dir的值更改为包含图像的目录。
答案 2 :(得分:0)
最简单的方法是使用scandir()
:
$contents = array_diff(scandir('/path/to/my/images/folder'), array('.', '..'));
// If you need to apply a custom sorting algorithm then try using
// natsort(), natcasesort(), usort(), or uasort() on $contents
// before looping through it.
//
// http://php.net/manual/en/array.sorting.php
foreach($contents as $item)
{
echo $item;
}
此外,您可能希望查看sorting_order
的{{1}}参数。