2013-11-26 4 views
0

에서 읽어PHP는/I는 다음 코드를 폴더

<?php 
    $path = 'imgsFor'; 
    $files_array = scandir($path); 
    for ($x=0; $x<=4; $x++) 
    { 
    echo '<img src="imgsFor/$files_array[$x]" <br>'; 
    } 
?> 

폴더 imgsFor에있는 모든 이미지를 표시하기 위해.

어떤 이유로 든 실제 이미지가 아니라 상자 만 보입니다.

이유가 무엇일까요?

+0

같은 시도 할 수 있습니다, 그래서 리터럴 문자열은'imgsFor/$ files_array [$ X]'실제 대신 사용됩니다 변수 값. 대신 큰 따옴표를 사용하십시오. –

답변

0

:

echo "<img src='http://yourwebsite.com/imgsFor/{$files_array[$x]}'/><br/>"; 
0

귀하의 URL이 유효하지 않기 때문입니다. 작은 따옴표를 사용하면 변수가 출력되지 않습니다. 태그를 끝내는 것을 잊었습니다. 이 시도 : 당신은 몇 가지를 엉망

foreach (glob($path) as $filename) { 
    echo '<img src="' . $path . '/' . $filename . '"/><br/>'; 
} 
+0

@TiMESPLiNTER : STRICT doctype을 사용하는 경우에도 유효합니다. –

+0

@TiMESPLiNTER : [뭐라구?] (http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2) –

4

나를 위해 가장 좋은 방법은 glob 기능을 사용하는 것입니다. 올바른 스크립트는

+0

묻는 것 :'glob()'을 사용하면 어떤 이점이 있습니까? 단순히 폴더의 모든 파일을 반복하고 싶다면? 패턴 ('* .txt'와 같은)의 경우 glob()은 완벽하지만 단순한 경로에 대한 잔인 함이 아닙니까? – TiMESPLiNTER

+0

@TiMESPLiNTER 맞습니다.'is_dir'과 함께'scandir'을 사용하는 것이 더 좋습니다. :-) – hsz

0

입니다. 디렉토리 경로를 확인하고 파일이 존재하지 않으면 false를 반환합니다. 당신은 당신이 대신 큰 따옴표의 단일 따옴표를 사용하고 있는지 그 이유는이

$path = 'imgsFor'; 

$scan = scandir($path); 

foreach($scan as $file) 
{ 
    if (!is_dir($path)) 
    { 
     echo $file.'\n'; 
    } 
}