我在服务器上的文件夹中有一些图像:
/9_123456.jpg
/10_123457.jpg
/21_123458.jpg
/14_123459.jpg
...
我也有一个包含这些文件名的数据库。
id file
9 9_123456.jpg
10 10_123457.jpg
21 21_123458.jpg
14 14_123459.jpg
我现在正在做的是查询图片名称并将其显示在网页上。
问题是我有数百万张图片,有时需要一段时间才能让这些图片回来,特别是如果我必须将这张图片与其他图片一起加入。
我想要做的是忽略那个数据库表并编写一个php函数来获取像这样的图片:
look in that directory and find a pic that begins with 9, or 10 , or whatever, because i know that number. some kind of a regexp.
我的问题是,这种方法会比查询更快吗?我将如何查找该文件?
希望我让自己清楚明白。
thnaks
答案 0 :(得分:3)
有glob可以帮助您:尝试glob($id.'_*.jpg');
性能取决于您的系统。一般来说:在Windows上,它将在Unices YMMV上更慢(由于*
语义的构建方式)。我使用Linux和ReiserFS获得了出色的结果,并且在Linux和ext *上获得了非常有用的结果。如果访问了许多图像,则可能是缓存中的目录。但请注意,记忆压力是这个的一个要素!