如何根据php中的已知id在目录中查找文件?

时间:2012-08-10 22:25:22

标签: php regex join readdir

我在服务器上的文件夹中有一些图像:

/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

1 个答案:

答案 0 :(得分:3)

glob可以帮助您:尝试glob($id.'_*.jpg');

性能取决于您的系统。一般来说:在Windows上,它将在Unices YMMV上更慢(由于*语义的构建方式)。我使用Linux和ReiserFS获得了出色的结果,并且在Linux和ext *上获得了非常有用的结果。如果访问了许多图像,则可能是缓存中的目录。但请注意,记忆压力是这个的一个要素!