2012-09-11 3 views
0

내 페이지로드 시간을 줄이려고합니다. 여전히어떻게 최적화합니까?

foreach (glob($dir . 'medium/' . $curRef . '*.jpg') as $file) 
    $urlMed = $file; 
if (empty($urlMed)) 
$urlMed = $dir . 'medium/no-image.jpg'; 

이는 다른 기능을 사용하고 "foreach는"루프를 "삭제"할 수 있습니다 :

나는 내 문제의 원인을 확인했습니다?

+2

당신이 달성하려고하는거야? 나는 무엇이든을 이해하지 않는다 ... –

+1

조숙 한 최적화는 모든 악의 뿌리이다. 죄송하지만 코드를보고 싶으면 원하는 것을 생각하지 말고 –

+0

좀 더 구체적인 제목을 선택하십시오. 우리는 문제의 내부로 가지 않고 문제에 대한 아이디어를 얻어야합니다. –

답변

1

foreach 루프는 아무 의미가 없습니다. 마지막으로 $urlMed에는 루프의 마지막 값 ($urlMed = end(glob($dir.'medium/'.$curRef.'*.jpg'));)이 포함됩니다. JPG 파일이 디렉토리에 존재하는 경우

는 (더 일치가 발견되지 않은 경우 반환 빈 배열), 당신은 단순히 glob의 결과를 확인할 수 있습니다 확인하려면 if(!count(glob($dir.'medium/'.$curRef.'*.jpg'))) 'no-image.jpg';

+0

고맙습니다. – bahamut100

+0

@ bahamut100 또한 시도해보십시오. glob는이 패턴에 대해 비어 있지 않은 문자열을 반환하기 때문에'empty()'도 현명하지 않습니다. PHP RTS는 ~ 20M PHP opcodes/sec 초를 실행하지만 파일 시스템 (및 디스크 회전)을 검사해야하는 함수를 호출하는 경우 이러한 작업에는 수십 mSec가 걸릴 수 있습니다. glob는 이것들을 많이 할 수 있습니다. – TerryE

관련 문제