使用五种以上方式获取一个文件的扩展名
2008-06-15 21:00
<?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]; ?> |