我的服务器中有一个包含数百万个文件的文件夹
文件名将是LMN20110305.txt 模式.
如果我试图在四月份搜索文件,我现在正在阅读目录
获取文件名并使用子字符串检查它是否大于或小于
20110401 和 20110430
在这种情况下,它将读取整个目录,这需要花费很多时间.我也在考虑检查创建日期.
性能如何glob- 查找与模式匹配的路径名
有谁有更好的建议?
傻傻的怀疑!是否可以在不搜索整个目录的情况下找到文件?
glob()会表现得很好.它出于某种原因在标准库中使用它!
我的理解是,glob()几乎直接映射到glob()系统C库中的函数,这意味着它很可能比您自己编写的任何东西都更有效.唯一的限制是内存:如果你的内存不足,你需要给PHP更多的内存或重新组织.
如果您遇到内存问题,如何更好地组织文件?一个文件夹中的一百万个文件太多了.以某种方式组织他们.如果您的文件已过时,请尝试按年份(然后可能是月份)进行组织,方法如下:
basedir/
|---/2011
|---/2010
etc.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1494 次 |
| 最近记录: |