此脚本片段检查目录中是否存在文件并构建缩略图。出于某些原因,在_1.jpg缩略图之前,只用.jpg创建了一个空的缩略图?这种情况发生在哪里,我可以追踪它吗?
这是一个小问题,看看...最好在IE中测试,因为firefox会自动将其删除:http://tinyurl.com/c6o2yts
<?
$image = "<br>";
$ListingRid = $row['ListingRid'];
$img_cnt = 1;
$image .= "<a href=/feeds/fmfl/rets_images/$ListingRid_1.jpg rel=enlargeimage::mouseover rev=loadarea><img src=/feeds/fmfl/rets_images/$ListingRid_1.jpg alt='' width='100' height='75' border='0' /></a> ";
for ($c=1;$c<10;$c++) {
$c_ext = $c;
if (file_exists("/var/www/vhosts/domain.com/httpdocs/feeds/fmfl/rets_images/{$ListingRid}_{$c_ext}.jpg"))
$image .= "<a href=/feeds/fmfl/rets_images/{$ListingRid}_{$c_ext}.jpg rel=enlargeimage::mouseover rev=loadarea><img src=/feeds/fmfl/rets_images/{$ListingRid}_{$c_ext}.jpg alt='' width='100' height='75' border='0' /></a> ";
else
$c=12;
$img_cnt++;
if ($img_cnt == 3) {
$image .= "<br>";
$img_cnt = 0;
}
}
?>
答案 0 :(得分:1)
问题在于:
$image .= "<a href=/feeds/fmfl/rets_images/$ListingRid_1.jpg rel=enlargeimage::mouseover rev=loadarea><img src=/feeds/fmfl/rets_images/$ListingRid_1.jpg alt='' width='100' height='75' border='0' /></a> ";
更具体地来说:
$ListingRid_1.jpg
PHP允许变量名称中的下划线和整数。因此,当您希望它找到$ListingRid . "_1"
时,PHP会将变量的名称解释为$ListingRid_1
,而该名称不存在。
您可以使用括号,以便它变为
$image .= "<a href=/feeds/fmfl/rets_images/{$ListingRid}_1.jpg rel=enlargeimage::mouseover rev=loadarea><img src=/feeds/fmfl/rets_images/{$ListingRid}_1.jpg alt='' width='100' height='75' border='0' /></a> ";
也:
另外,提前退出for
循环的更好方法是使用break
。