1

我有 2 个相同脚本的副本,唯一的区别是

一个)

$images = glob("*.*")

二)

$images = glob("*.{jpg,jpeg,png,gif}", GLOBAL_BRACE)

对我来说,B 应该运行得更快,因为它的选择更少(尽管另一方面,更多的过滤)。但加载需要 3.64 秒,而不是需要 122 毫秒的 A。这些取自 JS 控制台中 Chrome 的网络选项卡(这是一个 AJAX 调用)。

我试图想出一些逻辑上的巨大差异,但它是相同的目录、相同的服务器、相同的一切(只是 +GLOB_BRACE)。

4

2 回答 2

1

PHP glob 的 GLOB_BRACE 慢吗?

不,访问文件系统是。

您实际上应该只将图像放在目录中,因此您根本不需要“glob”,而是使用普通的旧opendir().

于 2012-09-24T14:44:49.753 回答
0

这实际上取决于 glob 的实现。如果这是基于对每个文件运行的正则表达式,它完全可以变慢(因为正则表达式非常慢)。我对 3.6 感到惊讶,但你有多少文件?

于 2012-09-24T14:41:07.960 回答