溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

發(fā)布時間:2021-08-19 09:48:21 來源:億速云 閱讀:99 作者:chen 欄目:編程語言

這篇文章主要講解了“PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名”吧!

首先我們回憶一下上文,從上文我們了解到一個完整的文件格式可分為三個部分:字符“.”之前的內(nèi)容字符“.”、字符“.”之后的內(nèi)容

這次我們還是要利用 字符“.,通過它來獲取文件擴(kuò)展名!下面我們會給大家介紹3種利用字符串函數(shù)獲取文件擴(kuò)展名的方法。

首先我們來看看第一種利用字符串函數(shù)獲取文件擴(kuò)展名的方法

<?php
function getExtension($filename){
         $ext = strrchr($filename,'.');
         return $ext;
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

分析一下上面的關(guān)鍵代碼:

strrchr($filename,'.')的意思為返回字符串$filename中從字符“.”開始到字符串結(jié)尾的所有字符。因此輸出結(jié)果為:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

接下來我們看看第二種利用字符串函數(shù)獲取文件擴(kuò)展名的方法

<?php
function getExtension($filename){
    $pos = strrpos($filename, '.');
    $ext = substr($filename, $pos);
    return $ext;
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

輸出結(jié)果為:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

OK,分析一下上面的關(guān)鍵代碼:

  • 首先我們使用strrpos($filename, '.')獲取到字符“.”在字符串$filename中最后一次出現(xiàn)的位置$pos,然后將$pos作為substr()函數(shù)的第二個參數(shù)。

  • substr($filename, $pos)會根據(jù)$pos設(shè)置的位置開始截取字符串$filename,返回從$pos開始到字符串結(jié)尾的所有字符。因此會輸出“.gif”。

如果想要獲取不包括字符“.”的擴(kuò)展名,即返回“gif”,那么可以設(shè)置substr($filename, $pos+1),這樣輸出結(jié)果就為:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

最后我們看看第三種利用字符串函數(shù)獲取文件擴(kuò)展名的方法

<?php
function getExtension($filename){
    $filename = strrev($filename);
    $ext = strstr($str,'.',true);
    return strrev($ext);
}
$filename="dir/upload/image.gif";
echo getExtension($filename);
?>

分析一下上面的關(guān)鍵代碼:

strstr($filename,'.',true)可以獲取字符串$filename中從開頭到 字符“.” 第一次出現(xiàn)前的所有字符,即獲取 字符“.”之前的內(nèi)容,輸出一下看看:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

這和我們的預(yù)期不符合,此時我想了一下,既然是獲取 字符“.”之前的內(nèi)容,那么就把字符串反轉(zhuǎn)一下,讓表示擴(kuò)展名的那幾個字符在字符“.”之前不久行了!

因此,先使用strrev($filename)來反轉(zhuǎn)字符串$filename,再使用strstr($filename,'.',true)來獲取 字符“.”之前的內(nèi)容,這次輸出看看結(jié)果:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

可以了,獲取到顛倒的擴(kuò)展名了,調(diào)用strrev($filename)再反轉(zhuǎn)一次字符串,這樣就獲取到正常的擴(kuò)展名了,看看輸出結(jié)果:

PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名

感謝各位的閱讀,以上就是“PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對PHP怎么利用字符串函數(shù)來提取文件的擴(kuò)展名這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI