动态PHP脚本中的Wayward Thumbnail生成

时间:2012-05-03 21:12:09

标签: php

此脚本片段检查目录中是否存在文件并构建缩略图。出于某些原因,在_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>&nbsp;";
                                    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>&nbsp;";
                                        else
                                            $c=12;

                                        $img_cnt++;
                                        if ($img_cnt == 3) {
                                            $image .= "<br>";
                                            $img_cnt = 0;
                                        }

                                    }

                                    ?>  

1 个答案:

答案 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>&nbsp;";

更具体地来说:

$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>&nbsp;";



也: 另外,提前退出for循环的更好方法是使用break