導航:首頁 > 編程語言 > php取圖片後綴名

php取圖片後綴名

發布時間:2022-05-23 00:19:12

A. php略縮圖怎麼顯示出後綴求助,求助

把這行代碼改了就可以了。

$filePath = $uppath.md5($filename."image"). '.'. strtolower(fileext($_FILES['file']['name']));//轉為無圖片後綴的名稱,並加密

B. 請問:php如何獲取數組中圖片名稱的後綴名呢

$aa=array('15.jpg','5.png');
$bb=array();//存放文件以及後綴
foreach($aaas$k=>$v){
$bb[$k]['img']=$v;
$bb[$k]['ext']=getExt($v);
}

print_r($bb);

//獲取文件後綴
functiongetExt($file){
returnsubstr(strrchr($file,'.'),1);
}

C. 在php里上傳圖片怎麼判斷後綴名和文件大小啊

$_FILES['myFilename']['type']取類型
$_FILES['myFilename']['size']取大小
<input type="file" name-"myFilename" />

D. php 取文件後綴名幾種有效的方法

PHP中獲取文件擴展名的N種方法
從網上收羅的,基本上就以下這幾種方式:


第1種方法:
functionget_extension($file)
{
substr(strrchr($file,'.'),1);
}
第2種方法:
functionget_extension($file)
{
returnsubstr($file,strrpos($file,'.')+1);
}
第3種方法:
functionget_extension($file)
{
returnend(explode('.',$file));
}
第4種方法:
functionget_extension($file)
{
$info=pathinfo($file);
return$info['extension'];
}
第5種方法:
functionget_extension($file)
{
returnpathinfo($file,PATHINFO_EXTENSION);
}
以上幾種方式粗看了一下,好像都行,特別是1、2種方法,在我不知道pathinfo有第二個參數之前也一直在用。但是仔細考慮一下,前四種方法都有各種各樣的毛病。要想完全正確獲取文件的擴展名,必須要能處理以下三種特殊情況。
沒有文件擴展名
路徑中包含了字元.,如/home/test.d/test.txt
路徑中包含了字元.,但文件沒有擴展名。如/home/test.d/test
很明顯:1、2不能處理第三種情況,3不能正確處理第一三種情況。4可以正確處理,但是在不存在擴展名時,會發出一個警告。只有第5種方法才是最正確的方法。順便看一下pathinfo方法。官網上介紹如下:
$file_path=pathinfo('/www/htdocs/your_image.jpg');

echo"$file_path['dirname'] ";
echo"$file_path['basename'] ";
echo"$file_path['extension'] ";
echo"$file_path['filename'] ";//onlyinPHP5.2+
它會返回一個數組,包含最多四個元素,但是並不會一直有四個,比如在沒有擴展名的情況下,就不會有extension元素存在,所以第4種方法才會發現警告。但是phpinfo還支持第二個參數。可以傳遞一個常量,指定返回某一部分的數據:
PATHINFO_DIRNAME-目錄
PATHINFO_BASENAME-文件名(含擴展名)
PATHINFO_EXTENSION-擴展名
PATHINFO_FILENAME-文件名(不含擴展名,PHP>5.2)
這四個常量的值分別是1、2、4、8,剛開始我還以為可以通過或運算指定多個:
pathinfo($file,PATHINFO_EXTENSION|PATHINFO_FILENAME);
後來發現這樣不行,這只會返回幾個進行或運算常量中最小的那個。也就是四個標志位中最小位為1的常量。

E. php上傳圖片沒有文件名後綴

$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;

請樓主先試試用這幾句看是否能獲取到後綴名
一般來說,即使系統沒有顯示後綴名,在php上傳中也是可以獲取到後綴名的
還有,就是要檢查一下,move_uploaded_file函數里,目標地址的圖片名稱是否拼接了後綴名

F. PHP略縮圖上傳後會加密怎麼顯示出後綴

把這行代碼改了就可以了。filePath = $uppath.md5($filename."image"). '.'. strtolower(fileext($_FILES['file']['name']));//轉為無圖片後綴的名稱,並加密

G. 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,謝謝】

H. PHP上傳完圖片以後怎麼獲取它上傳到服務里邊的文件名及格式後綴

使用$_FILES[]超全局數組,獲取到上傳文件的詳細信息

I. 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取圖片後綴名相關的資料

熱點內容
二次元表格編程 瀏覽:20
plc編程器保停 瀏覽:963
如何降低伺服器的內存佔用率 瀏覽:868
阿里雲伺服器是個什麼意思 瀏覽:817
國內最好的數控編程培訓學校 瀏覽:13
222乘104列是演算法 瀏覽:159
程序員溝通正確姿勢 瀏覽:969
魔玩app怎麼視頻推廣 瀏覽:960
程序員抽獎送禮 瀏覽:458
北京java程序員薪資 瀏覽:658
如何創建網路平台或者app 瀏覽:355
python隨機數生成控制概率 瀏覽:236
壓縮機並聯運行 瀏覽:899
兩位單片機 瀏覽:63
四川音樂類投檔線的演算法 瀏覽:650
建行app如何改轉賬卡 瀏覽:27
android開發升級 瀏覽:299
要火社區app進不去怎麼辦 瀏覽:826
安卓手機上的自定義功能怎麼用 瀏覽:230
方舟伺服器怎麼購買進去資格 瀏覽:44