php
PHP - pathinfo 함수
mixed pathinfo ( string $path [, int $options= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
(PHP 4 >= 4.0.3, PHP 5)
이 함수는 두 번째 인자를 생략할 경우 파일경로와 파일명, 확장자를 배열로 반환합니다. 파일이름([filename])은 (PHP 5.2.0) 부터 가능합니다.
두 번째 인자는 다음의 상수를 사용할 수 있습니다.
다음은 두 번째 인자를 이용한 파일 업로드시 활용 예제입니다.
(PHP 4 >= 4.0.3, PHP 5)
이 함수는 두 번째 인자를 생략할 경우 파일경로와 파일명, 확장자를 배열로 반환합니다. 파일이름([filename])은 (PHP 5.2.0) 부터 가능합니다.
두 번째 인자는 다음의 상수를 사용할 수 있습니다.
상 수 | 설 명 |
---|---|
PATHINFO_DIRNAME | 파일경로, [dirname] =>/www/htdocs/www |
PATHINFO_BASENAME | 파일명, [basename] => index.html |
PATHINFO_EXTENSION | 파일 확장자, [extension] => html |
PATHINFO_FILENAME | 파일이름, [filename] => index |
<?php
$path_parts = pathinfo('/www/htdocs/www//index.html');
print_r($path_parts);
/*
결과:
Array
(
[dirname] => /www/htdocs/www
[basename] => index.html
[extension] => html
[filename] => index
)
*/
$path_parts = pathinfo('/www/htdocs/www/index.php.asp.bmp.html.inc');
print_r($path_parts);
/*
결과:
Array
(
[dirname] => /www/htdocs/www
[basename] => index.php.asp.bmp.html.inc
[extension] => inc
[filename] => index.php.asp.bmp.html
)
*/
$path_parts = pathinfo('/www/htdocs/www/index');
print_r($path_parts);
/*
결과:
Array
(
[dirname] => /www/htdocs/www
[basename] => index
[extension] =>
[filename] => index
)
*/
?>
다음은 두 번째 인자를 이용한 파일 업로드시 활용 예제입니다.
<?php
if($_FILES['file']['error'] === UPLOAD_ERR_OK) {
// 확장자를 반환받습니다.
if(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION) == "php") {
echo "확장자 php파일은 업로드 하실수 없습니다.";
}
}
?>
<?php
// 파일경로
$path_parts = pathinfo('/www/htdocs/www///index.php.asp.bmp.html.inc',PATHINFO_DIRNAME);
echo $path_parts; // 결과: /www/htdocs/www
// dirname함수도 같은 역할을 합니다.
echo dirname('/www/httpd/home/index.html'); // 결과: /www/httpd/home
// 파일명
$path_parts = pathinfo('/www/htdocs/www///index.php.asp.bmp.html.inc',PATHINFO_BASENAME);
echo $path_parts; // 결과: index.php.asp.bmp.html.inc
// basename함수도 같은 역할을 합니다.
echo basename('/www/httpd/home/index.html'); // 결과: index.html
// 두번째 인자를 사용할 수 있습니다.
echo basename('/www/httpd/home/index.html', ".html"); // 결과: index
// 파일 확장자
$path_parts = pathinfo('/www/htdocs/www///index.php.asp.bmp.html.inc',PATHINFO_EXTENSION);
echo $path_parts; // 결과: inc
// 파일이름
$path_parts = pathinfo('/www/htdocs/www///index.php.asp.bmp.html.inc',PATHINFO_FILENAME);
echo $path_parts; // 결과: index.php.asp.bmp.html
?>
0 댓글