php取文件后缀
‘壹’ 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怎样获取文件后缀名
//方法一:
functionextend_1($file_name){
$retval="";
$pt=strrpos($file_name,".");
if($pt)
$retval=substr($file_name,$pt+1,strlen($file_name)-$pt);
return($retval);
}
//方法二
functionextend_2($file_name){
$extend=pathinfo($file_name);
$extend=strtolower($extend["extension"]);
return$extend;
}
//方法三functionextend_3($file_name){
$extend=explode(".",$file_name);
$va=count($extend)-1;
return$extend[$va];
}
‘叁’ PHP 获取链接中的后缀名
functiongontenfile($filestr){
$gonten=explode(’.',$filestr);//用点号分隔文件名到数组
$gonten=array_reverse($gonten);//把上面数组倒序
return$gonten[0];//返回倒序数组的第一个值
}
‘肆’ php怎么取出一个字符串的扩展名
PHP 获取文件后缀名
<?php
function fileSuffix($filename){
return strtolower(trim(substr(strrchr($filename, '.'), 1)));
}
?>
strrchr ---PHP函数,查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,如果失败,则返回 false。
substr ---PHP函数,返回字符串一部分。
trim ---PHP函数,移除字符串两侧的空白字符或其他预定义字符。
strtolower ---PHP函数,把字符串转换为小写。
‘伍’ php怎么获取当前页面的后缀文件名
1、第一次获得文件路径,假如变量设为path
$path=$_SERVER['REQUEST_URI'];
2、用basename函数即可获得路径中的文件名部分:
$filename=basename($path);
3.输出显示:
echo $filename;
‘陆’ 如何用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怎么获取当前页面的后缀文件名
<?php
$url = $_SERVER['PHP_SELF'];
$filename= substr( $url , strrpos($url , '/')+1 );
echo $filename;
?>
‘捌’ PHP 没有后缀名的文件怎么获取后缀
我给你思路吧
首先没有后缀,那只能通过文件头来判断了
functiongetFileType($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){
case7790:
$fileType='exe';
break;
case7784:
$fileType='midi';
break;
case8075:
$fileType='zip';
break;
case8297:
$fileType='rar';
break;
case255216:
$fileType='jpg';
break;
case7173:
$fileType='gif';
break;
case6677:
$fileType='bmp';
break;
case13780:
$fileType='png';
break;
default:
$fileType='unknown';
break;
}
return$fileType;
}
-
‘玖’ php 获取url地址文件后缀
$array = pathinfo(url);
$array['extension']; 是后缀
‘拾’ 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
=
"http://www.bitsCN.com/index.html?id=1";
$str
=
getUrlPostfix($url);
echo
$str
.
"n";
希望本文所述对大家的php程序设计有所帮助。