php獲取文件後綴名的幾種方法,PHP獲取文件名

本文目錄一覽:

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;

    

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185049.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 05:04
下一篇 2024-11-26 05:04

相關推薦

  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • Python如何導入py文件

    Python是一種開源的高級編程語言,因其易學易用和強大的生態系統而備受青睞。Python的import語句可以幫助用戶將一個模塊中的代碼導入到另一個模塊中,從而實現代碼的重用。本…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python寫文件a

    Python語言是一種功能強大、易於學習、通用並且高級編程語言,它具有許多優點,其中之一就是能夠輕鬆地進行文件操作。文件操作在各種編程中都佔有重要的位置,Python作為開發人員常…

    編程 2025-04-29

發表回復

登錄後才能評論