使用带有Retina.js的PHP Glob可以拉出包括@ 2x在内的所有图像

时间:2013-01-31 23:53:18

标签: php glob retina.js

我正在使用http://retinajs.com/(Retina.js)作为我的投资组合网站。 Retina.js要求使用相同的文件名和扩展名将@ 2x映像放在同一目录中。例如,当retina.js注意到设备使用更高的DPI时,image01.jpg将替换为image01@2x.jpg。

我的问题是我还使用PHP glob函数来检索目录中的所有图像文件并在页面上显示它们。这意味着它甚至可以在普通的72 dpi屏幕上同时拉动@ 2x图像。但是@ 2x图像只能加载到DPI较高的屏幕上。

我的简单PHP代码是:

$files = glob('images/projects/'.$filename.'/*.{jpg}', GLOB_BRACE);

    foreach($files as $file) {

        echo '<img src="'.$file.'" title="'.$title.'" />';

    }   

有没有办法使retina.js和PHP glob一起工作?我的目标是将正常72dpi屏幕的@ 2x图像以外的目录中的所有图像拉出。

提前致谢!

1 个答案:

答案 0 :(得分:1)

简单的方法:

foreach($files as $file) {
    //check that the file doesn't have @2x in the name.
    if(strpos($file, '@2x')===false){
        echo '<img src="'.$file.'" title="'.$title.'" />';
    }
}