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程序設計有所幫助。