獲取文件後綴名php
① php 能用多少種方法去獲取文件後綴
//第1種方法:
functionget_extension($file)
{
瞎世substr(strrchr($file,'.'),1);
}
//第2種方法:
functionget_extension($file)
{
returnsubstr($file,strrpos($file,'.')+1);
}
//第3種方法:
functionget_extension($file)
{
returnend(explode('.',$file));
}
//第4種方法:
functionget_extension($file)
{
$info=pathinfo($file);
晌迅return$info['extension'];
}
//第5種宴神此方法:
functionget_extension($file)
{
returnpathinfo($file,PATHINFO_EXTENSION);
}
……
② php怎麼獲取當前頁面的後綴文件名
1、第一次獲得文件路徑,假如變數設為path
$path=$_SERVER['REQUEST_URI'];
2、用basename函數即可獲得路徑中的文件名部分:
$filename=basename($path);
3.輸出顯示:
echo $filename;
③ 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獲取上傳文件擴展名$filename= md5(time().rand(0,9).$_FILES["filedata"]["name"]).".bmp";
$filename=md5(time().rand(0,9).$_FILES["filedata"]["name"]).'.'.pathinfo($_FILES["filedata"]["name"],PATHINFO_EXTENSION);
⑤ php自定義函數怎麼獲取文件的後綴名
第1種方法橋侍租搏:
function get_extension($file)
{
substr(strrchr($file, '.'敏型吵), 1);
}
第2種方法:
function get_extension($file)
{
return substr($file, strrpos($file, '.')+1);
}
更多的方法可以看下這篇文章http://www.php.cn/php-weizijiaocheng-339965.html,希望對你有幫助
⑥ php 獲取url地址文件後綴
$array = pathinfo(url);
$array['extension']; 是後綴
⑦ PHP函數獲取URL文件後綴
//取出url地址中文件擴展名
$url = "http://sdk.tools.sinaapp.com/index.php?appname=beipiao&version=1";
function getFileName($url){
$a = explode('?', $url);
$b = strrpos($a[0], '.'); //strrpos(被搜索字元串,要查找字元串,[查找開始的位置]) 查找字元串最後一次出現的位置: 找到則返回最後一次出現的位置;未找到則返回false
$c = substr($a[0], $b+1, 3); //substr(被操作字元串,開始位置,[結束位置]) 返回字元串的一部分
return $c;
}
echo getFileName($url)."<br>";
//第二種方法
function getFileNameTwo($url){
$a = parse_url($url, PHP_URL_PATH); //parse_url() 解析url,返回其組成部分
$b = pathinfo($a, PATHINFO_EXTENSION); //pathinfo()
return $b;
}
print_r(getFileNameTwo($url));
⑧ 寫一個php函數,盡可能高效的,從一個url中提取出文件的擴展名。
第1種方橋缺法:substr(strrchr($file, '.'), 1);
第2種方法:substr($file, strrpos($file, '賀陸.')+1);
第3種方法:end(explode('.', $file));
第4種方法:
$info= pathinfo($file)
echo$info['extension'];
第5種方法:敏拍辯pathinfo($file, PATHINFO_EXTENSION);
⑨ 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 獲取鏈接中的後綴名
functiongontenfile($filestr){
$gonten=explode(』.',$filestr);//用點號分隔文件名到數組
$gonten=array_reverse($gonten);//把上面數組倒序
return$gonten[0];//返回倒序數組的第一個值
}