我正在阅读一个包含一些图片的目录,例如使用 readdir() 的一个非常简单的实现,如下所示:
if ($handle = opendir($path)) {
while (false !== ($szFilename = readdir($handle))) {
if ($szFilename[0] !== '.') {
if (is_file($path.$szFilename)) {
// do stuff
}
}
}
}
我遇到的问题是文件没有按照 readdir() 的文档状态按字母顺序读取:
返回下一个文件的文件名
从目录中。文件名是
按它们的顺序返回
由文件系统存储。
另一个奇怪的事情是,在本地测试服务器上,相同的代码运行良好。在这两种情况下,它都在使用 LAMP 堆栈的服务器上运行。
我知道我可以构建一个数组并对其进行排序,但我想知道我是否遗漏了我正在做的事情。
按字母顺序排列 :: 我认为您误读了您引用的片段......
返回目录中下一个文件的文件名。文件名按照文件系统存储的顺序返回。
“ls”会按(通常)字母顺序显示文件这一事实并不意味着它们就是这样存储在文件系统上的。恐怕 PHP 的行为符合规范。
您可能需要考虑使用scandir如果必须按字母顺序排序,则将其作为您工作的基础。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)