php获取文件的文件名(误区)

文件路径:$path = '/home/files/1234.jpg';
php获取文件名,大家应该是轻车熟路了,写个小函数,分分钟
 1 <?php 
 2 //获取文件名
 3 function get_fileName($file_path){
 4     //1、先获取带文件部分
 5     $file_base_name = basename($file_path);
 6     //2、拆分为数组,获取即可
 7     $file_name_arr = explode('.',$file_base_name);
 8     $f_name = $file_name_arr[0]; 
 9     return $f_name;
10 }
11 
12 ?>

调用函数 echo get_fileName($path);// 输出 1234

仔细一看,没毛病啊,这有什么问题吗?接下来就是见证奇迹的时候了

现在来了一个新的文件路径 /home/upload/abc.123.test.zip
再次调用函数,结果输出了abc
这。。。
现在知道问题之所在了吧!
好了 万全做法如下
 1 <?php 
 2 //获取文件名
 3 function get_fileName($file_path){
 4     //1、先获取带文件部分
 5     $file_base_name = basename($file_path);
 6     //2、查找截取即可
 7     $f_name = substr($file_base_name,0,strrpos($file_base_name,'.'));
 8     return $f_name;
 9 }
10 ?>

猜你喜欢

转载自www.cnblogs.com/guliang/p/11661039.html