我有两份相同的脚本,唯一的区别是
a)
$images = glob("*.*")b)
$images = glob("*.{jpg,jpeg,png,gif}", GLOBAL_BRACE)对我来说,B应该运行得更快,因为它的选择更少(尽管从另一方面讲,更多的过滤)。但它需要3.64s来加载,而不是A,后者需要122ms。这些是从Chrome的JS控制台的网络选项卡中获取的(这是一个AJAX调用)。
我试图想出一些逻辑上的东西来解决大的不同,但它是相同的目录,相同的服务器,相同的一切(只有+GLOB_BRACE)。
发布于 2012-09-24 22:44:50
是PHP glob的GLOB_BRACE慢吗?
不是的。访问文件系统是。
你真的应该只把图片放在一个目录中,所以你根本不需要"glob“,而是使用一个普通的旧opendir()。
发布于 2012-09-24 22:41:08
这真的取决于glob的实现。如果这是基于对每个文件运行的正则表达式,那么它有理由变慢(因为正则表达式非常慢)。我很惊讶3.6 tho‘你有多少文件在那里?
https://stackoverflow.com/questions/12567203
复制相似问题