我有一个图像文件夹,其中包含每个图像专辑的子目录,如
在PHP文件中 我使用GLOB读取相册的缩略图,为每张专辑创建一个链接,以读取图像
下的所有文件夹$dir=glob('images/*');
$dir_listing=array();
foreach($dir as $list)
{
if(is_dir($list))
$dir_listing[]= (basename($list));
}
$thumbs=glob('images/thumbnails/*');
$count=0;
foreach($thumbs as $th )
{
echo" $dir_listing <br/>";
echo"<a href='$dir_listing[$count]' ><img src='$th' /> </a>";
$count++;
}
我在每个页面加载时使用Glob来获取目录和图像列表。
使用Glob是正确还是我们应该将子目录和文件保存在文本文件中并从中读取?
答案 0 :(得分:0)
我无法确定是否有更好的方法可以做到这一点,但您的代码肯定会有效。
只有当目录中的文件数量相对较少(&lt; 10,000)时才使用glob()是正确的方法,因为如果yoy有很多文件,那么你可以得到一个“允许的内存大小为XYZ字节”筋疲力尽......“错误。在这种情况下,最好使用opendir();
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
// do something with the file
// note that '.' and '..' is returned even
}
closedir($handle);
最后,在glob()上使用标志GLOB_NOSORT,这样最终结果就像它在目录中列出的那样,以防可能用于根据上次修改日期为您提供结果。
希望这有帮助。