php自定义函数怎么获取文件的后缀名

php自定义函数怎么获取文件的后缀名,第1张

第1种方法:

function get_extension($file)

{

substr(strrchr($file, '.'), 1)

}

第2种方法:

function get_extension($file)

{

return substr($file, strrpos($file, '.')+1)

}

更多的方法可以看下这篇文章http://www.php.cn/php-weizijiaocheng-339965.html,希望对你有帮助

解决楼主的问题的方法就是,分开写代码,即:

$filearr = split(".",$filename)

$filetype = end($filearr)

split 函数用来分割字符串的时候,基本等同于函数 preg_grep,分割表达式可以是一个正则表达式,也可以是一个普通字符串,所以本身的执行效率很低,这一点你要记得……

所以,实现你现在的这个需求的话,最好用explode函数,使用普通字符作为分割表达式……

但是也的确如楼上所说,split 函数(PHP里)已经弃用,你可以使用 preg_match、preg_match_all 、preg_grep 等使用正则表达式作为分割的函数来替代。

就整个你的需求而言,你的思路还不很好,当一个文件名是【a.b.c.d.e.f.g.php】的时候,程序要浪费多余的资源来分割其实你不用的a、b、c……,

所以要简单满足你取后缀名的需求的代码应该是:

$filetype=substr(strrchr($filename,'.'),1)

此外还有:$path_info = pathinfo($filename) $filetype = $path_info['extension'] 其实不是很推荐。

下面比较一下它们各自的执行效率:

设文件名是:aaa.bb.php、循环执行10000次;执行10次取平均值:

split + end :0.067644s

explode + end :0.016251s

pathinfo + ['extension'] :0.018983s

strrchr + substr :0.008611s

【以上文字现场版纯手敲,2012-2-25 10:41,谢谢】

1、第一次获得文件路径,假如变量设为path

$path=$_SERVER['REQUEST_URI']

2、用basename函数即可获得路径中的文件名部分:

$filename=basename($path)

3.输出显示:

echo $filename


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11435201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存