2013-02-18 52 views
-2

請幫我找到5.3.5及以上版本的php代碼的答案。PHP中Split('sunset.jpg')的替代方法將如何顯示輸出?

$file_name ="sunset.jpg"; 
if(isset($file_name)) 
{ 
    $exts = split("[/\\.]", $file_name) ; 
    $n = count($exts)-1; 
    echo $n; 
    $exts = $exts[$n]; 
    echo $exts; 
} 
else 
{ 
    echo "error"; 
} 

我知道split()函數已被棄用,我們不得不使用preg_split(或)explode來代替。但我的問題在於,我應該如何修改我的代碼才能僅以'jpg'的形式獲得輸出。當我嘗試使用爆炸和preg_split時,我得到了'sunset.jpg'的結果。 有助於查找結果。

+2

$exts = pathinfo($file_name, PATHINFO_EXTENSION); 

查看文檔很容易。使用網站或谷歌搜索框。兩者都會告訴你答案。認真。他們會的。 – 2013-02-18 14:52:47

回答

1

就爆炸字符串,並使用它的最後一個元素:

$file_name = "sunset.jpg"; 
if(isset($file_name)) { 
    echo $exts = end(explode('.', $file_name)); 
} else { 
    echo "error"; 
} 
+0

答案的答案。 – 2013-02-19 07:42:40

3
+0

我不知道女巫的工作更快,這還是爆炸? – Peon 2013-02-18 15:02:54

+0

不確定,但pathinfo更準確,因爲它適用於文件名的多種變體,包括如果你有sunset.jpg?someVar =值等,它應該仍然在這種情況下返回jpg – PaulMrG 2013-02-18 15:09:20