码迷,mamicode.com
首页 > 其他好文 > 详细

使用五种以上方式获取一个文件的扩展名

时间:2017-03-07 00:14:28      阅读:455      评论:0      收藏:0      [点我收藏+]

标签:detail   ext2   返回   extension   dir   array   ref   count   数字   

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)

第一种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
$tok = strtok($string, ‘.‘); //使用strtok将字符串分割成一个个令牌 
while ($tok) 
{ 
  $arr[]= $tok;  
  $tok = strtok(‘.‘); //该函数会保持它自己的内部指针在字符串中的位置, 
                        //如果想重置指针,可以将该字符串传给这个函数.  
                        //所以当第二次调用strtok()函数时,如果对上一次的已分割的字符串进行分割,第1个参数可以省略 
} 
$count= count($arr); 
$i= $count-1; 
$file_type= $arr[$i]; 
?>  

第二种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
$arr= explode(‘.‘, $string); //使用explode()函数分割字符串,返回值是一个数组 
$count= count($arr); 
$count-=1; 

$file_type= $arr[$count];//利用数字索引 
$file_type = array_pop($arr);//将数组最后一个单元弹出(出栈),用一个变量接住 
?> 

第三种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
$i= strrpos($string, ‘.‘);   //得到指定分割符在字符串的最后一次出现的位置 
$file_type= substr($string, $i);//截取字符串 
?> 

第四种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
$file_type= strrchr($string, ‘.‘); //取得某字符最后出现处起的字符串。 
?> 

第五种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
$arr= pathinfo($string);  //返回文件路径的信息    print_r($arr); 
$file_type= $arr[‘extension‘]; 
?> 

第六种:

<?php 
$string= ‘dir/upload.image.jpg‘; 
eregi(‘^["."]+$‘, $string, $arr);//用正则表达式来分割 
$count= count($arr); 
$count-=1; 
$file_type= $arr[$count]; 
?>

http://blog.csdn.net/xcyuzhen/article/details/4634692

 

另外一种:

function get_ext1($file_name){

return strrchr($file_name, ‘.’);

}
function get_ext2($file_name){ return substr($file_name, strrpos($file_name, ‘.’)); }
function get_ext3($file_name){ return array_pop(explode(‘.’, $file_name)); }
function get_ext4($file_name){ $p = pathinfo($file_name); return $p[‘extension‘]; }
function get_ext5($file_name){ return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), ‘.’))); }

 

以上均为运行。

使用五种以上方式获取一个文件的扩展名

标签:detail   ext2   返回   extension   dir   array   ref   count   数字   

原文地址:http://www.cnblogs.com/gengyi/p/6512558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!