我有这个很好的PHP代码,但唯一的事情是从文件夹加载的图像是随机的,我需要它们按顺序加载数字。
`
//Open images directory
$dir = opendir("../blogimg/luda_jesus");
//List files in images directoryb
while (($file = readdir($dir)) !== false)
{
if(substr( $file, -3 ) == "jpg" )
{
echo "<div class='container'><img class='lazy' id='background' src='../blogimg/loader.gif' data-original='../blogimg/luda_jesus/" . $file . "' width='884' height='587'></div>";
//echo "<br />";
}
}
closedir($dir);
?>`
请帮帮我
答案 0 :(得分:1)
您可以使用glob
更轻松地完成此操作:
$files = glob("../blogimg/luda_jesus/*.jpg");
natsort($files); // can also use other sort functions here, take your pick
foreach ($files as $file) {
echo '...';
}
我选择natsort
作为上面的排序函数,因为它会在2.jpg
之前对10.jpg
进行排序,而普通sort
则会相反。有关详细信息,请参阅comparison of array sorting functions。
答案 1 :(得分:0)
假设“数字”表示文件名,您可以简单地执行循环并填充数组中的所有文件,对其进行排序,然后加载文件。
示例:
//Open images directory
$dir = opendir("../blogimg/luda_jesus");
//List files in images directoryb
while (($file = readdir($dir)) !== false) {
if(substr( $file, -3 ) == "jpg" ) {
$filelist[] = $file;
}
}
closedir($dir);
sort($filelist);
for($i=0; $i<count($filelist)-1; $i++) {
echo "<div class='container'>
<img class='lazy' id='background'
src='../blogimg/loader.gif'
data-original='../blogimg/luda_jesus/" . $file . "'
width='884' height='587'>
</div>";
}
如果您需要不同的分类方法,请提及。