0

このスクリプトスニペットは、ファイルがディレクトリに存在するかどうかを確認し、サムネイルを作成します。何らかの理由で、_1.jpgサムネイルの前に、.jpgだけで空のサムネイルが作成されますか?これはどこで起こっているのですか、私はそれを追跡することができますか?

確認すべき問題のtinyurlは次のとおりです...Firefoxが自動的に削除するため、IEでテストするのが最適です: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;
                                        }

                                    }

                                    ?>  
4

1 に答える 1

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では、変数名にアンダースコアと整数を使用できます。したがって、PHPは変数の名前を、存在しないと$ListingRid . "_1"解釈します。$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です。

于 2012-05-03T22:07:37.010 に答える