上传的时候,判断文件后缀名,然后再同时生成复杂名字的时候,总是会有烦恼,也确实是,使用PHP取文件后缀名的方法太多了。。这里稍列几个
1、
<?php
$urlname = 'http://www.neatcn.com/attachment/test.gif';
$path_info = pathinfo($urlname );
echo $path_info['extension'];
?>
2、discuz里面利用strrchr取得后缀名
function fileext($filename) {
return trim(substr(strrchr($filename, '.'), 1, 10));
}
//个人建议在$filename上加上basename(),这样可以对路径也处理一下
3、利用end函数
$filename = 'http://www.neatcn.com/attachments/test.gif';
echo(end(explode(".",$filename )));//split之类的都可以
最早以前判断都是判断strpos取得最后一个.的所在位置,现在都用strrchr了,毕竟它可以安全的操作二进制文件。
还可以通过finfo::file($filename);来取得文件的类型,然后再进行处理,不过。这已经不算是取文件名了。
大至是以上三种,其他一些方法类似的就不一一列出了
评论 (0)
暂无评论