本文目录一览:
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;
}
-