0

我将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 一起工作?我的目标是拉取目录中的所有图像,除了@2x 图像以用于正常的 72dpi 屏幕。

提前致谢!

4

1 回答 1

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.'" />';
    }
}  
于 2013-02-01T00:08:45.670 回答