묻고답하기
for반복문에서 count구하는것좀 알려주세요^^;
2009.08.31 18:23
images폴더안에 파일이 37개 있다고 치면
댓글 2
-
金东峰
2009.08.31 19:33
먼저 폴더에 가서 총수를 구해오는게 더욱 바랍직? 하다고 봅니다.
www폴더가 경로라고 가정하시면
아래 같은 function을 하나 만드시고 카운터를 리턴합니다.
리턴값을 다시 for로 돌리는게 ....
/*
* $rootDir = "www";
* $allowext = array("jpg","gif","png");
* $files_array = scanDirectories($rootDir,$allowext);
* print_r($files_array);
*/
function scanDirectories($rootDir, $allowext, $allData=array()) {
$dirContent = scandir($rootDir);
foreach($dirContent as $key => $content) {
$path = $rootDir.'/'.$content;
$ext = substr($content, strrpos($content, '.') + 1);
if(in_array($ext, $allowext)) {
if(is_file($path) && is_readable($path)) {
$allData[] = $path;
}elseif(is_dir($path) && is_readable($path)) {
// recursive callback to open new directory
$allData = scanDirectories($path, $allData);
}
}
}
return count($allData);
} -
왜만지냐
2009.09.01 13:17
답변감사드립니다^^*
역시 처음 접하는건 어렵네요...^^;;
<!--@for($i=0;$i<=37;$i++)-->
<li>
<img src="/images/{$i}.jpg" alt="설명" />
</li>
<!--@end-->
이렇게 하면 간단하겠지만
어떤폴더는 파일이 13개 어떤폴더는 xx개 어떤폴더는 yy개 이런식으로 개수가 틀립니다.
제가 생각해낸 방법은
아래와 같은데
<!--@for($i=0;$i<=$cnt;$i++)-->
{@$cnt = count($i)}
<li>
<img src="/images/{$i}.jpg" alt="설명" />
</li>
<!--@end-->
이렇게 하니깐 안되네요ㅡㅡ;