在PHP面試中,經常碰到此題 :要求寫出5種以上的方法,獲取一個文件的擴展名,其實也是在考察面試者基礎知識的掌握程度,下面整理了幾種常用的方法(下面方法返回的都是不帶’.'的,如果要求帶 ‘.’的話 自己改一下):
<?php
$file = ‘siyuantlw/程序設計.php’;
function getExt1($file) {
return substr(strrchr($file,’.'),1);
}
function getExt2($file) {
return substr($file,strrpos($file,’.')+1);
}
function getExt3($file) {
return strrev(substr(strrev($file),0,strpos(strrev($file),’.')));
}
function getExt4($file) {
return array_pop(explode(‘.’,$file)); //array_pop 介紹
}
function getExt5($file) {
$arr = pathinfo($file);
return $arr['extension'];
//或者寫成下面這種
//return pathinfo($file,PATHINFO_EXTENSION);
}
function getExt6($file) {
$temp = strtok($file, ‘.’); //strtok函數說明
while($temp !== false ){
$file_extension = $temp;
$temp = strtok(‘.’);
}
return $file_extension;
}
function getExt7($file) {
while($dot = strpos($file, “.”))
{
$file = substr($file, $dot+1);
}
return $file;
}
echo getExt1($file).’<br />’;
echo getExt2($file).’<br />’;
echo getExt3($file).’<br />’;
echo getExt4($file).’<br />’;
echo getExt5($file).’<br />’;
echo getExt6($file).’<br />’;
echo getExt7($file).’<br />’;