2013-05-19 2 views
0

file_exists를 사용하여 특정 이미지 파일이 지정된 디렉토리에 있는지 확인하고 이미지 회전자가 이미지 디렉토리에 표시되는지 확인합니다. 그것은 잘 작동하지만 코드는 매우 오래 그것이 달성 무엇을 위해 바람이 부는 것 같습니다. 더 좋은 방법이 있습니까? 순간 파일 이름 범위에 대해 file_exists를 사용하는 간결한 방법

나는이 :

각각 $의 reg_photo_x_f 이미지 경로입니다
<?php 
     if (file_exists($reg_photo_1_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_1_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_2_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_2_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_3_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_3_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_4_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_4_f .">"."</a>"; 
     echo "</li>"; 
     } 
     if (file_exists($reg_photo_5_f)) { 
     echo "<li>"; 
     echo "<a href=". $reg_photo_5_f .">"."</a>"; 
     echo "</li>"; 
     } 
     ?> 

. 모든 이미지가 발견 될 때까지 반복 할 수 있도록이 코드를 적용 할 수있는 방법이 있기를 바라고 있습니다. 이미지 이름 자체는 다른 페이지에서 생성 된 해시이므로 분명히 연속적이지 않습니다.

해시를 만드는 페이지는 미리 정의 된 '소금'과 함께 PHP 변수 형식의 페이지와 관련된 값을 결합하여 이미지 이름이 해시 된 비밀번호와 일치하는 방식과 거의 일치합니다. 나는 동일한 페이지에이 코드가 reg_photo_1_f $ 예를 들어 데이터베이스 등 :

$reg_photo_1 = sha1("$bh".PHOTO_REG_1); 
$reg_photo_1_f = $reg_photo_root.$reg_photo_1.".jpg"; 

... $의 BH는 사용자가 켜져 있고 PHOTO_REG_1는 '소금'이다 페이지에 변수 관련이있다.

확실히 이미지의 이름을 지정하는 방법이 더 있지만 이것이 동적 페이지에서 작동하는 가장 간단한 방법입니다.

+6

각 파일 이름에 별도의 변수를 사용하는 대신 모든 파일을 배열에 저장하십시오. 그러면 모든 것을 처리하기 위해 간단한 루프가 걸릴 것입니다. – Jon

답변

1
<?php 

$files = glob('*.jpg'); 
foreach($files as $file) { 
     echo "<li>"; 
     echo "<a href=". $file.">"."</a>"; 
     echo "</li>"; 
} 
?> 
+2

'glob()'을 사용하면'file_exists()'를 사용할 필요가 없습니다 :) – HamZa

+0

죄송합니다. HamZa DzCyberDeV :) –

+0

아직 편집 할 수 있습니다 :) – HamZa