Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 글로브://

<시간/>

소개

glob:// 스트림 래퍼는 5.3.0 이후의 모든 PHP 버전에서 사용할 수 있습니다. 주어진 패턴과 일치하는 경로 이름을 찾습니다. PHP의 파일 시스템 함수 glob()도 비슷한 목적을 달성합니다. libc glob() 규칙을 따릅니다.

매개변수

특수 문자

  • * - 0개 이상의 문자와 일치합니다.
  • ? − 정확히 하나의 문자(모든 문자)와 일치합니다.
  • [...] - 문자 그룹에서 한 문자와 일치합니다. 첫 번째 문자가 !인 경우 그룹에 없는 모든 문자와 일치합니다.
  • \ - GLOB_NOESCAPE 플래그가 사용되는 경우를 제외하고 다음 문자를 이스케이프합니다.

유효한 플래그

  • GLOB_MARK − 반환된 각 디렉토리에 슬래시(Windows의 경우 백슬래시)를 추가합니다.
  • GLOB_NOSORT − 디렉토리에 나타나는 대로 파일을 반환합니다(정렬 없음). 이 플래그를 사용하지 않으면 경로 이름이 알파벳순으로 정렬됩니다.
  • GLOB_NOCHECK − 일치하는 파일이 없으면 검색 패턴을 반환합니다.
  • GLOB_NOESCAPE − 백슬래시는 메타 문자를 인용하지 않습니다.
  • GLOB_BRACE − 'a', 'b' 또는 'c'와 일치하도록 {a,b,c} 확장
  • GLOB_ONLYDIR − 패턴과 일치하는 디렉토리 항목만 반환
  • GLOB_ERR − 읽을 수 없는 디렉토리와 같은 읽기 오류 시 중지, 기본적으로 오류는 무시됩니다.

예시

glob() 함수 사용

<?php
foreach (glob("test/*.php") as $filename) {
   echo "$filename size " . filesize($filename) . "\n";
}
?>

glob:// 스트림 래퍼 사용

<?php
$it = new DirectoryIterator("glob://test/*.php");
foreach($it as $f) {
   echo "File name: " . $f->getFilename() . " size: " . $f->getSize() . "\n";);
}
?>

두 스크립트 모두 test에서 확장자가 .php인 파일의 이름과 크기를 표시합니다. 하위 디렉토리