programing

디렉토리의 각 파일에 대한 루프 코드

nasanasas 2020. 8. 24. 18:52
반응형

디렉토리의 각 파일에 대한 루프 코드


이 질문에 이미 답변이 있습니다.

반복하고 파일 계산을 수행하려는 사진 디렉토리가 있습니다. 잠이 부족할 수도 있지만 PHP를 사용하여 주어진 디렉토리를 찾고 일종의 for 루프를 사용하여 각 파일을 반복하는 방법은 무엇입니까?

감사!


scandir :

$files = scandir('folder/');
foreach($files as $file) {
  //do your work here
}

또는 glob 이 귀하의 필요에 더 적합 할 수 있습니다.

$files = glob('folder/*.{jpg,png,gif}', GLOB_BRACE);
foreach($files as $file) {
  //do your work here
}

DirectoryIterator 클래스를 확인하십시오 .

해당 페이지의 댓글 중 하나에서 :

// output all files and directories except for '.' and '..'
foreach (new DirectoryIterator('../moodle') as $fileInfo) {
    if($fileInfo->isDot()) continue;
    echo $fileInfo->getFilename() . "<br>\n";
}

재귀 버전은 RecursiveDirectoryIterator 입니다.


glob () 함수를 찾습니다 .

<?php
$files = glob("dir/*.jpg");
foreach($files as $jpg){
    echo $jpg, "\n";
}
?>

GLOB () 시도

$dir = "/etc/php5/*";  

// Open a known directory, and proceed to read its contents  
foreach(glob($dir) as $file)  
{  
    echo "filename: $file : filetype: " . filetype($file) . "<br />";  
}  

foreach 루프에서 glob 함수를 사용하여 옵션을 수행하십시오. 또한 아래 예제에서 file_exists 함수를 사용하여 더 진행하기 전에 디렉토리가 있는지 확인했습니다.

$directory = 'my_directory/';
$extension = '.txt';

if ( file_exists($directory) ) {
   foreach ( glob($directory . '*' . $extension) as $file ) {
      echo $file;
   }
}
else {
   echo 'directory ' . $directory . ' doesn\'t exist!';
}

참고 URL : https://stackoverflow.com/questions/6155533/loop-code-for-each-file-in-a-directory

반응형