php
PHP - glob 함수
array glob ( string $pattern [, int $flags= 0 ] )
(PHP 4 >= 4.3.0, PHP 5)
이 함수는 pattern에 매칭 되는 파일(또는 디렉토리)를 찾을 수 있으며 pattern에 *와 ?를 사용할 수 있습니다.
$flags 인자에 다음 상수를 함께 사용할 수 있습니다.
GLOB_ONLYDIR 상수를 사용한 결과입니다.
GLOB_MARK 상수를 사용한 결과입니다.
다음은 GLOB_BRACE 상수의 예제입니다.
(PHP 4 >= 4.3.0, PHP 5)
이 함수는 pattern에 매칭 되는 파일(또는 디렉토리)를 찾을 수 있으며 pattern에 *와 ?를 사용할 수 있습니다.
패 턴 | 설 명 |
---|---|
* | 매칭되는 모든 문자를 찾음 |
? | 매칭되는 임의의 문자 1개를 찾음 |
{a,b,c} | 다중 패턴에 매칭되는 문자를 찾음 |
$flags 인자에 다음 상수를 함께 사용할 수 있습니다.
상 수 | 설 명 |
---|---|
GLOB_ONLYDIR | 주어진 패턴에 매칭되는 폴더만 찾음 |
GLOB_MARK | 주어진 패턴에 매칭되는 폴더, 파일을 찾으며, 폴더는 끝에 역슬레쉬(\)가 붙음 |
GLOB_BRACE | 주어진 다중 패턴에 매칭되는 폴더, 파일을 찾음. Ex.) {a,b,c} |
GLOB_NOSORT | 주어진 패턴에 매칭되는 폴더, 파일을 찾고, 정렬하지 않은 목록을 반환함 |
<?php
// .로 시작하는 파일(또는 폴더)을 찾습니다.
$j = 1;
foreach(glob(".*") as $value){
echo "${j}) $value<br/>";
$j++;
}
/*
결과:
1) .
2) ..
3) .htaccess
*/
// 확장자 .php파일을 찾습니다.
$j = 1;
foreach(glob("*.php") as $value){
echo "${j}. $value<br/>";
$j++;
}
/*
결과:
1. PHPTelnet.php
2. index.php
3. test.php
4. xmlrpc.php
*/
$j = 1;
foreach(glob("k*.htm?") as $value){
echo "${j}. $value<br/>";
$j++;
}
/*
결과:
1. kara.html
2. keight.htmp
2. keight.htms
*/
$j = 1;
foreach(glob('my/*/dir/*.php') as $value){
echo "${j}. $value<br/>";
$j++;
}
/*
결과:
my/1/dir/xyz.php
my/bar/dir/bar.php
my/bar/dir/foo.php
*/
?>
GLOB_ONLYDIR 상수를 사용한 결과입니다.
<?php
// 모든 문자를 포함하는 폴더를 찾습니다.
$j = 1;
foreach(glob("*",GLOB_ONLYDIR) as $value){
echo "${j}. $value<br/>";
$j++;
}
/*
결과:
1. 1212038247-PHPDebug-V1.1.0[1]
2. 6694-notftp-1.2.1[1]
3. File_Archive
4. html_parse
5. mail
6. nbuilder11.6
7. php souse
8. rar
9. rb
*/
// r로 시작하는 폴더를 찾습니다.
$j = 1;
foreach(glob("r*",GLOB_ONLYDIR) as $value){
echo "${j}. $value<br/>";
$j++;
}
/*결과:
1. rar
1. rb
*/
?>
GLOB_MARK 상수를 사용한 결과입니다.
<?php
// r로 시작하는 파일, 폴더를 찾습니다. 폴더는 끝에 \가 붙습니다.
$j = 1;
foreach(glob("r*",GLOB_MARK) as $value){
echo "${j}. $value<br/>";
$j++;
}
/*
결과:
1. rar\
2. rb\
3. rdmininy\
4. readme.html
5. rss.gif
*/
?>
다음은 GLOB_BRACE 상수의 예제입니다.
<?php
// 확장자 .php, .html, .txt인 파일을 찾습니다.
$j = 1;
foreach(glob("{*.php,*.html,*.txt}",GLOB_BRACE) as $value){
echo "${j}. $value<br/>";
$j++;
}
?>
0 댓글