本文目錄一覽:
- 1、用php編寫一個函數,使用字元串處理函數獲得文件的擴展名,如使輸入ab. jpg, 輸出jpg
- 2、php 驗證上傳的文件類型為圖片,並獲得文件的後綴名
- 3、請問:php如何獲取數組中圖片名稱的後綴名呢?
- 4、php如何獲取文件的擴展名
用php編寫一個函數,使用字元串處理函數獲得文件的擴展名,如使輸入ab. jpg, 輸出jpg
function cutname($fname)
{
$try = 0;
do{
$try= strpos($fname, ‘.’, $try+1);
if($try!==false) $pos = $try;
}while($try!==false);
return isset($pos) ? substr($fname, $pos+1) : false;
}
php 驗證上傳的文件類型為圖片,並獲得文件的後綴名
以下是我上傳了一個圖片後顯示的 $_FILES[‘filename’]的信息
[filename] = Array
(
[name] = Winter.jpg
[type] = image/jpeg
[tmp_name] = /tmp/php2jw7QX
[error] = 0
[size] = 105542
)
其中type是文件類型的minitype 表示方法,例如普通的HTML的類型是text/html
如果你想用擴展名的方式判斷的話可以用以下代碼:
?php
#允許的文件擴展名
$allowed_types = array(‘jpg’, ‘gif’, ‘png’);
$filename = $_FILES[‘filename’][‘name’];
#正則表達式匹配出上傳文件的擴展名
preg_match(‘|\.(\w+)$|’, $filename, $ext);
#print_r($ext);
#轉化成小寫
$ext = strtolower($ext[1]);
#判斷是否在被允許的擴展名里
if(!in_array($ext, $allowed_types)){
die(‘不被允許的文件類型’);
}
?
請問:php如何獲取數組中圖片名稱的後綴名呢?
$aa= array (’15.jpg’, ‘5.png’);
$bb = array(); // 存放文件以及後綴
foreach($aa as $k=$v){
$bb[$k][‘img’] = $v;
$bb[$k][‘ext’] = getExt($v);
}
print_r($bb);
// 獲取文件後綴
function getExt($file){
return substr(strrchr($file, ‘.’), 1);
}
php如何獲取文件的擴展名
1.$file = ‘x.y.z.png’;
echo substr(strrchr($file, ‘.’), 1);
解析:strrchr($file, ‘.’)
strrchr() 函數查找字元串在另一個字元串中最後一次出現的位置,並返回從該位置到字元串結尾的所有字元
2.$file = ‘x.y.z.png’;
echo substr($file, strrpos($file, ‘.’)+1);
解析:strrpos($file, ‘.’)
查找 “.” 在字元串中最後一次出現的位置,返回位置 substr()從該位置開始截取
3.$file = ‘x.y.z.png’;
$arr=explode(‘.’, $file);
echo $arr[count($arr)-1];
4.$file = ‘x.y.z.png’;
$arr=explode(‘.’, $file);
echo end($arr); //end()返回數組的最後一個元素
5.$file = ‘x.y.z.png’;
echo strrev(explode(‘.’, strrev($file))[0]);
6.$file = ‘x.y.z.png’;
echo pathinfo($file)[‘extension’];
解析:pathinfo() 函數以數組的形式返迴文件路徑的信息。包括以下的數組元素:
[dirname]
[basename]
[extension]
7.$file = ‘x.y.z.png’;
echo pathinfo($file, PATHINFO_EXTENSION);
總結:字元串截取2種,數組分割3種,路徑函數2種
原創文章,作者:PEUX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133155.html