php取後綴,php獲取後綴

本文目錄一覽:

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;

    

}

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有哪些常用的後綴

php3,pht,phtml,phps等後綴如果伺服器是apach的話配置文件是可以添加這些php別名進行解析的

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:42
下一篇 2024-12-22 15:42

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

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

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

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • cmake minsizerel 後綴 d是什麼以及怎麼使用

    cmake是一個跨平台的開源編譯系統。它可以根據不同的平台、編譯器和其他參數來生成相應的Makefiles、Visual Studio工程或Xcode工程等。minsizerel是…

    編程 2025-04-27
  • Python文件選擇對話框過濾文件後綴

    在編寫Python程序時,我們常常需要打開和讀取文件,但是我們並不希望讀取某些特定格式的文件,這時候文件選擇對話框就非常有用了。本篇文章將介紹如何使用Python的文件選擇對話框並…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24

發表回復

登錄後才能評論