首页 开发编程 正文

包含php怎么取文件名后缀名的词条

$pt=strrpos($file_name“if($pt)$retval=substr($file_name,strlen($file_name)-$pt)”$extend=strtolower($extend["extension"]);return$extend;$file_name);)){$file_name=substr(...

本篇文章给大家谈谈php怎么取文件名后缀名,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录:

如何用php获取文件名后缀

php获取文件后缀名(format file)

//方法一:

复制代码 代码如下:

?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 ];

}

//方法四

复制代码 代码如下:

function getFileExt( $file_name )

{

while ( $dot = strpos ( $file_name , “.” ))

{

$file_name = substr ( $file_name , $dot +1);

}

return $file_name ;

}

?

另外:

PHP pathinfo() 函数

PHP Filesystem 函数

定义和用法

pathinfo() 函数以数组的形式返回文件路径的信息。

语法

pathinfo(path,options)

参数

描述

path

必需。规定要检查的路径。

process_sections

可选。规定要返回的数组元素。默认是 all。

可能的值:

PATHINFO_DIRNAME – 只返回 dirname

PATHINFO_BASENAME – 只返回 basename

PATHINFO_EXTENSION – 只返回 extension

说明

pathinfo() 返回一个关联数组包含有 path 的信息。

包括以下的数组元素:

[dirname]

[basename]

[extension]

提示和注释

注释:如果不是要求取得所有单元,则 pathinfo() 函数返回字符串。

例子

例子 1

复制代码 代码如下:

?phpprint_r( pathinfo ( “/testweb/test.txt” ));?

// 输出:

// Array([dirname] = /testweb[basename] = test.txt[extension] = txt)

例子 2

复制代码 代码如下:

?phpprint_r( pathinfo ( “/testweb/test.txt” ,PATHINFO_BASENAME));?

// 输出:

// test.txt

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修改文件名后缀?

$name=$shareInfo['name'];

$pos=strrpos($name,".");//右侧查找'.'的位置

//组合条件只处理jpgpng类型的

if($pos (substr($name,$pos+1)=="jpg" || substr($name,$pos+1)=="png")){

    echo substr($name,0,$pos);

}

关于php怎么取文件名后缀名和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文转载自互联网,如有侵权,联系删除