您的位置:

php获取文件后缀名的几种方法,PHP获取文件名

本文目录一览:

php怎样获取文件后缀名?

//方法一:  

function extend_1($file_name){  

    $retval=""; 

     $pt=strrpos($file_name, ".");  

    if($pt)

    $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);  

    return ($retval);  

}     

//方法二  

function extend_2($file_name){  

    $extend = pathinfo($file_name); 

     $extend = strtolower($extend["extension"]); 

     return $extend;  

}  

   

//方法三  function extend_3($file_name){      

    $extend =explode("." , $file_name);  

    $va=count($extend)-1;  

    return $extend[$va]; 

 }

php从给定url获取文件扩展名的方法

本文实例讲述了php从给定url获取文件扩展名的方法。分享给大家供大家参考。具体实现方法如下:

?php

/**

*

给定url,获取文件后缀

*

@param

string

$url

*

@return

string

*/

function

getUrlPostfix

($url)

{

$url_arr

=

explode('.',

$url);

$postfix

=

$url_arr[count($url_arr)

-

1];

$substr

=

substr($postfix,

0,

3);

return

$substr;

}

$url

=

"";

$str

=

getUrlPostfix($url);

echo

$str

.

"n";

希望本文所述对大家的php程序设计有所帮助。

php 能用多少种方法去获取文件后缀

//第1种方法:

function get_extension($file)

{

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

}

//第2种方法:

function get_extension($file)

{

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

}

//第3种方法:

function get_extension($file)

{

    return end(explode('.', $file));

}

//第4种方法:

function get_extension($file)

{

    $info = pathinfo($file);

    return $info['extension'];

}

//第5种方法:

function get_extension($file)

{

    return pathinfo($file, PATHINFO_EXTENSION);

}

……

php截取文件扩展名

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

$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,谢谢】

PHP 没有后缀名的文件怎么获取后缀

我给你思路吧

首先没有后缀,那只能通过文件头来判断了

function getFileType($file){

if(!empty($file)){

//打开文件

$filehead = fopen($file,'r');

//读取文件2字节

$bin = fread($filehead, 2);

fclose($filehead);

//二进制字符串对数据进行解包

$data = unpack('C2chars', $bin);

$type_code = intval($data['chars1'].$data['chars2']);

    switch ($type_code) {

        case 7790: 

            $fileType = 'exe';

            break;

        case 7784: 

            $fileType = 'midi';

            break;

        case 8075: 

            $fileType = 'zip';

            break;

        case 8297: 

            $fileType = 'rar';

            break;

        case 255216: 

            $fileType = 'jpg';

            break;

        case 7173: 

            $fileType = 'gif';

            break;

        case 6677: 

            $fileType = 'bmp';

            break;

        case 13780: 

            $fileType = 'png';

            break;

        default: 

            $fileType = 'unknown';

            break;

    }

    return $fileType;

    

}

-