php 获取文件名后缀实例小结
在php文件上传时我们需要获取文件名后缀之后进行简单文件类型判断了,而在php中文件名后缀获取方法很简单并且有很多种,下面我来总结一下。
1.basename()-返回路径的文件名, 请看下面php代码:
<?php
$path = "/usr/www/html/index.php" ;
echo basename ( $path ). "<br>" ;
//如果选择suffix则忽略扩展名
echo basename ( $path , ".php" );
?>运行结果:index.php , index
2.dirname()-返回当前脚本的文件路径,php代码:
<?php
//——FILE__返回文件完整路径
$dir = dirname( __FILE__ );
echo $dir ;
?>运行结果:F:webzendexercise
3.pathinfo() 返回一个关联数组包含有 path 的信息,包括以下的数组单元:路径名称dirname,文件名称basename 和 扩展名称extension,请看下面简单代码演示:
<?php
$path = "/usr/www/html/index.php" ;
$pathinfo = pathinfo ( $path );
echo "目录名称:$pathinfo[dirname]<br>" ;
echo "文件名称:$pathinfo[basename]<br>" ;
echo "扩展名:$pathinfo[extension]" ;
?>运行结果:目录名称:/usr/www/html
文件名称:index.php
扩展名:php
4.realpath — 返回规范化的绝对路径名,php代码如下:
<?php
$path = "./exercise/php.txt" ;
$realpath = realpath ( $path );
echo $realpath ;
?>最后注意一个小技巧:不同路径的文件路径操作符可能,不同,windows下可以用"/"和"",
linux下只能用"/",所以开发的时候,建议都用"/",如我上面的文件路径写法!<?php
//方法一:
function extend_1( $file_name )
{
$retval =[];
$pt = strrpos ( $file_name , [.]);
if ( $pt ) $retval = substr ( $file_name , $pt +1, strlen ( $file_name ) – $pt );
return ( $retval );
}
//方法二
function extend_2( $file_name )
{
$extend = pathinfo ( $file_name );
$extend = strtolower ( $extend [ "extension" ]);
return $extend ;
}
//方法三
function extend_3( $file_name )
{
$extend = explode ([.] , $file_name );
$va = count ( $extend )-1;
return $extend [ $va ];
}
//方法四
function getFileExt( $file_name )
{
while ( $dot = strpos ( $file_name , [.]))
{
$file_name = substr ( $file_name , $dot +1);
}
return $file_name ;
}
?>