我有一个小问题,用于按文件夹范围显示照片.
我目前的PHP代码:
$start = 0007;
$end = 0015;
$filenames = glob("$dirname/*{" . implode(",", range($start, $end)) . "}*", GLOB_BRACE);
foreach ($filenames as $filename)
{
$tempo=explode('/',$filename);
echo "<div class=\"col-lg-3 col-md4 col-xs-6 thumb\">";
echo "<a class=\"thumbnail\" href=\"$softname?photo:$tour:$ordre:::$tempo[4]:$clients_id::::$argconcours\">";
echo "<p align=\"center\">$tempo[3]/$tempo[4]</p>";
echo "<img class=\"img-responsive\" src=\"$filename\" alt=\"$filename\">";
echo "</a>";
echo "</div>";
}
Run Code Online (Sandbox Code Playgroud)
它显示照片0008.jpg,0018.jpg 0028.jpg ... 0080.jpg 0009.jpg,0019.jpg ... 0089.jpg,0011.jpg,0012.jpg,0013.jpg,0014.jpg,0015 .JPG,
看起来它显示所有照片,它找到数字8或9然后做11,12,13,14,15.我没看到我做错了,因为它只显示在0007到0015之间
.照片名称的例子:W32_0008.JPG
以a开头的数值0喜欢0007和0015被视为八进制数.
0007(八进制7)将等于十进制7
但是0015(八进制15)将等于十进制13
我想如果你将它们定义为字符串值,你的问题就不会成为问题:
$start = '0007';
$end = '0015';
Run Code Online (Sandbox Code Playgroud)
编辑
我还怀疑你应该..在glob表达式中使用范围运算符而不是逗号分隔的数字列表(假设PHP的glob包装器支持glob的所有功能)
glob("$dirname/*{" . $start . '..' . $end . "}.jpg", GLOB_BRACE);
Run Code Online (Sandbox Code Playgroud)