我使用这个脚本从目录中获取缩略图。这里显示了glob()返回的所有图像。如何让glob返回有限数量的图像?是否可以限制glob返回的值?
<?php
$filecount = count(glob("".$usr_alb_path."/*.{jpg,jpeg,gif,png}",GLOB_BRACE));
foreach(glob("".$usr_alb_path_thumbs_path."/*.{jpg,jpeg,gif,png}",GLOB_BRACE) as $images)
{
if ($filecount > 1)
{
echo "<img class='uploaded_image_live_img_thumbs' alt='".$row["caption"] ."' src=\"".$images."\">";
}
else
{
//another function
}
}
?>
答案 0 :(得分:0)
$c = 0;
foreach(glob("".$usr_alb_path_thumbs_path."/*.{jpg,jpeg,gif,png}",GLOB_BRACE) as $images) {
if($c++ > 5) break ;
...
}
或
$truncated = array_slice(glob("".$usr_alb_path_thumbs_path."/*.{jpg,jpeg,gif,png}",GLOB_BRACE), 0, 5);
foreach($truncated as $images) {
...
如果目录中的文件太多而您希望获得限制结果,则可以使用opendir() readdir()或更优雅的方式 - DirectoryIterator class
答案 1 :(得分:0)
当glob()
返回一个数组时,您只需通过array_slice()
提取部分结果。
如果你的目录有太多的文件/你想以某种方式过滤它们,你必须重新设计你的持久层[并且因为你是echo
这样的html,我建议重新设计你的整个应用程序]。 / p>