2011-03-24 11 views
1

イメージの幅をチェックするif関数を書き込もうとしていて、次にcssクラスを適用しています。 CSSクラス「スパン-5」:php strlen range関数

私は関数が「-4にまたがる」

190px 229pxの画像が範囲内にある場合は、150ピクセルから189pxにこの

のように動作するCSSクラスを適用したいです

230px 269pxに:CSSクラス "またがる-6" を

は、私はこのように試してみました:

list($width, $height, $type, $attr) = getimagesize($article_image); 

if(strlen($width) < 189 && strlen($width) > 150) { $cssClass = "span-4"; } 
if(strlen($width) < 229 && strlen($width) > 190) { $cssClass = "span-5"; } 
if(strlen($width) < 269 && strlen($width) > 230) { $cssClass = "span-6"; } 

それは動作しません。誰かが間違って何を見ているのですか?

編集:なぜあなたはstrlen()を使用している:イムは

+0

? –

答えて

0

strlenは、関数名と同様に、文字列の場合も同様です。

私はあなたがしたいことを正しく理解していませんが、画像ファイルがあり、そのサイズを確認したい場合は、getimagesizeを使用できます。

すでに$width変数で画像の幅を持っている場合は、このようなあなたのチェックを行う必要があります。 `$が含まれてwidth`ん何

if($width > 150 && $width < 190) { $cssClass = "span-4"; } 
else if($width < 230) { $cssClass = "span-5"; } 
else if($width < 270) { $cssClass = "span-6"; } 
+0

ありがとうございます。それが私が探していたものでした! –

2

からわずかの推測を$幅変数をgetteingどこexplaineする機能を追加しましたか?私はちょうど$widthそれを行うと思う...?! または$widthの内容は何ですか?

2

おそらく、$widthを文字列のように扱い、その長さを取得している可能性があります。代わりに番号のように扱ってみてください。

if(($width < 189) && ($width > 150)) { $cssClass = "span-4"; } 
0

まず、文字列の長さを1回計算して変数に入れます。 2番目と3番目の文でelseを使用します。

1

strlenは、$ width変数の文字列長を取得します。私はあなたがそれをしたいとは思わない。あなたはおそらくすべての$ widthからstrlen()を失いたいと思うでしょう。