2014-07-09 16 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