2014-07-09 42 views
0

我使用jQuery Flexslider插件來顯示100多幅圖像。我已經得到了他們全部使用PHP中的foreach循環顯示如下圖所示:基於不同的圖像尺寸使Flexslider響應

<?php foreach (glob('images/glob/*') as $filename): ?> 
    <li> <img src="<?= $filename ?>"/> </li> 
<?php endforeach; ?> 

我的圖片都具有相同的高度600px的,但是它們的寬度不同而不同。一些是肖像圖像,而另一些是風景。我想知道是否有一種方式在PHP中,我可以添加類來相應地根據它們的寬度來設置樣式。

例如:

if 
    ($img width > $img height).addClass (landscape) 
else 
    ($img height > $img width).addClass (portrait) 

顯然,這上面的語句將無法正常工作,但有人可以告訴我如何添加到我的foreach語句,所以我可以添加類到不同的圖像?

回答

0

使用和getimagesize:http://www.php.net/manual/en/function.getimagesize.php

foreach (glob('images/*') as $filename) { 
    $size = getimagesize($filename); 
    if ($size[0] > $size[1]) { 
     $class="landscape"; 
    } 
    else { 
     $class="portrait"; 
    } 

    print '<li> <img src="'. $filename.'" '.$size[3].' class="'.$class.'" /> </li>'; 
} 

$大小[3]在那裏添加適當的寬度=和高度=屬性img元素。

+0

$ size [0]和$ size [1]代表高度和寬度嗎? – rklitz

+0

是的,$ size [0]是寬度和$ size [1]高度。 – bardzusny