2011-03-24 3 views
1

Im пытается написать функцию if, которая проверяет ширину изображения, а затем применить класс css.php strlen range function

Я хочу, чтобы функция работать как этот

, если изображение находится в диапазоне от 150px до 189px, применять класс CSS "охватывают-4"

190px на 229px: класс CSS "Диапазон-5"

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"; } 

Это не работает. Кто-нибудь видит, что я делаю неправильно?

Edit: Добавлена ​​функция explaine где Im getteing переменной ширины $ от

+0

Что '$ width' содержит? –

ответ

0

strlen, как функция name указать, для строк.

Я не уверен, что правильно понял, что вы хотите сделать, но если у вас есть файл изображения, и вы хотите проверить его размер, вы можете использовать getimagesize.

Если у вас уже есть ширина изображения в переменной $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

только предположение: почему вы используете strlen()? Я думаю, что только $width сделает это ...?! Или что такое контент $width?

2

Возможно, это потому, что вы обрабатываете $width как строку и получаете ее длину. Попытайтесь рассматривать его как число вместо этого.

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

Прежде всего, рассчитайте длину строки только один раз и поместите ее в переменную. Во-вторых, используйте другое, если на втором и третьем операторах.

1

strlen получает длину строки переменной ширины $. Я не думаю, что ты хочешь это сделать. Скорее всего, вы хотите потерять strlen() из каждой ширины $.