2013-01-31 2 views
0

내 포트폴리오 사이트에 http://retinajs.com/ (Retina.js)을 사용하고 있습니다. Retina.js는 @ 2x 이미지가 동일한 파일 이름과 확장명을 사용하는 동일한 디렉토리에 있어야합니다. 예를 들어, retina.js가 장치가 상위 DPI를 사용하고 있음을 발견하면 image01.jpg가 [email protected]로 바뀝니다.Retina.js에서 PHP Glob을 사용하면 @ 2x를 포함한 모든 이미지를 가져옵니다.

내 문제는 또한 PHP glob 함수를 사용하여 디렉토리 내의 모든 이미지 파일을 검색하고 페이지에 표시한다는 것입니다. 즉, 일반 72 dpi 화면에서도 @ 2x 이미지를 동시에 가져옵니다. 그러나 @ 2x 이미지는 더 높은 DPI가있는 화면에서만로드됩니다.

내 간단한 PHP 코드는 다음과 같습니다 함께 retina.js와 PHP의 글로브 작품을 만드는 방법이

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

    foreach($files as $file) { 

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

    } 

있습니까? 내 목표는 정상적인 72dpi 화면에 대한 @ 2x 이미지를 제외한 디렉토리 내의 모든 이미지를 가져 오는 것입니다.

미리 감사드립니다.

+0

네, 함께 이러한 작업을 할 수 있습니다. 디렉토리에서 원하지 않는 파일을 걸러 낼 수있는 수백 가지 방법이 있습니다. 이 일을하기 위해 지금까지 무엇을 시도 했습니까? –

+0

안녕 마이크, 경험이 부족하여 망막을 만지고 싶지 않았습니다. 그래서 저는 PHP를 가지고 놀았으며 파일 이름이 정확히 같아야한다는 것을 깨달았습니다. 그래서 나는 아무것도 할 수 없다. PHP를 사용하여 '@ 2x'를 제외하는 preg_match를 사용하여 파일 이름을 필터링하려고합니다. 그러나 이것이 이것이 망막 이미지에 영향을 줄지 확실하지 않습니다. 또한 정상적인 72 dpi 화면에서이를 확인할 수 없습니다. – Raja

답변

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.'" />'; 
    } 
} 
+0

빠른 반응이었습니다. 고마워요 조나단! 방금 코드를 테스트 한 결과 완벽하게 작동했습니다. 이것이 망막에 영향을 줄지 확실하지 않았지만 정상적인 dpi 화면에서 @ 2x 이미지를 제거하는 것으로 보입니다. 도와 주셔서 다시 한 번 감사드립니다. :) – Raja

관련 문제