Programming Language/PHP
PHP에서 파일 확장자 구하기
HoZang
2018. 11. 4. 02:02
PHP에서 파일 이름과 확장자 구하는 방법
파일의 절대경로를 알고 있다면, pathinfo 또는 SplFileInfo를 사용하면된다.
pathinfo()
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php'); echo $path_parts['dirname']; // /www/htdocs/inc echo $path_parts['basename']; // lib.inc.php echo $path_parts['extension']; // php echo $path_parts['filename']; // lib.inc // since PHP 5.2.0
[source: http://php.net] http://php.net/manual/kr/function.pathinfo.php
class SplFileInfo
$info = new SplFileInfo('example.php'); if ($info->isFile()) { echo $info->getExtension(); // php } $info = new SplFileInfo('foo.txt'); var_dump($info->getFilename()); // string(7) "foo.txt" $info = new SplFileInfo('/path/to/foo.txt'); var_dump($info->getFilename()); // string(7) "foo.txt" $info = new SplFileInfo('http://www.php.net/'); var_dump($info->getFilename()); // string(0) "" $info = new SplFileInfo('http://www.php.net/svn.php'); var_dump($info->getFilename()); // string(7) "svn.php"
[source: http://php.net] http://php.net/manual/en/class.splfileinfo.php
파일을 업로드할 때는 아래 방법으로 파일명과 확장자를 얻을 수 있다.
$orig_file_name = $_FILES["upload_file"]["name"]; echo $orig_file_name; // foo.bar.php $exploded_file = explode(".", $orig_file_name); $file_extension = array_pop($exploded_file); $file_name = implode($exploded_file); echo $file_name; // foo.bar echo $file_extension; // php