欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

php文件上傳代碼標(biāo)配的一個擴(kuò)展了,為什么呢?(一)_php文件域上傳

2023-11-19    分類: 網(wǎng)站建設(shè)

今天來學(xué)習(xí)的擴(kuò)展,其實(shí)是標(biāo)準(zhǔn)擴(kuò)展php文件上傳代碼,為什么呢?因?yàn)榭蚣茉诎惭b的時(shí)候是必要的擴(kuò)展,如果不開啟,連框架都無法使用。

簡介

是通過給定的字節(jié)序列庫獲取文件的內(nèi)容類型和編碼。它獲取的序列庫是根據(jù)操作系統(tǒng)確定的。例如網(wǎng)站優(yōu)化,系統(tǒng)默認(rèn)使用文件/usr//misc/。其實(shí)我們可以通過這個擴(kuò)展函數(shù)來獲取文件的MIME信息,就像我們常見的/png和text/html內(nèi)容一樣。

此擴(kuò)展同時(shí)兼容新舊開發(fā)模式,因此提供了面向過程和面向?qū)ο髢煞N形式。下面我們來看看面向?qū)ο蟮谋韱问侨绾问褂玫摹?/p>

面向?qū)ο蟮氖褂?/p>

$finfo?=?new?finfo(FILEINFO_MIME);
echo?$finfo->file("./1.pHp中的日期相關(guān)函數(shù)(三).php"),?pHp_EOL;
//?text/x-php;?charset=us-ascii
echo?$finfo->buffer(file_get_contents("https://www.baidu.com"))?.?"\n";
//?text/html;?charset=utf-8
$finfo->set_flags(FILEINFO_EXTENSION);
echo?$finfo->file('timg.jpeg')?.?"\n";
//?jpeg/jpg/jpe/jfif

首先,我們通過一個新的類來獲取文件操作對象。參數(shù)中的常量是可選的。默認(rèn)情況下,表示沒有特殊處理。這里我們用它來表示文件的mime類型和編碼。

然后使用file()方法獲取指定文件的mime信息。 () 方法返回字符串內(nèi)容的信息。例如,如果我們獲取一個網(wǎng)頁信息的內(nèi)容,我們可以得到它的字符串表示的文件編碼格式為 text/hmtl 。 () 方法是在實(shí)例化對象后修改其構(gòu)造參數(shù)屬性,也就是我們實(shí)例化時(shí)設(shè)置的參數(shù)信息,這里我們修改為 ,即讓對象返回文件可能的擴(kuò)展名。我們使用圖片進(jìn)行了測試,返回的可能擴(kuò)展名包括評論中顯示的擴(kuò)展名。

面向過程

對于上面的面向?qū)ο蟠a,讓我們也展示一下使用面向過程的函數(shù)如何進(jìn)行相同的操作。

$finfo?=?finfo_open(FILEINFO_MIME);
echo?finfo_file($finfo,"./1.pHp中的日期相關(guān)函數(shù)(三).php"),?pHp_EOL;
//?text/x-php;?charset=us-ascii
echo?finfo_buffer($finfo,?file_get_contents("https://www.baidu.com")),?pHp_EOL;
//?text/html;?charset=utf-8
finfo_set_flags($finfo,?FILEINFO_EXTENSION);
echo?finfo_file($finfo,?'timg.jpeg')?.?"\n";
//?jpeg/jpg/jpe/jfif
finfo_close($finfo);

可以看出,這里是用()方法替換對象,獲取操作句柄。然后使用類似的 () , () , () 函數(shù)進(jìn)行操作,達(dá)到的效果和上面面向?qū)ο蟮慕Y(jié)果是一樣的。

需要注意的是,面向過程的寫法有一個()方法。一般對句柄類型的操作都有一個關(guān)閉函數(shù)來釋放句柄資源。就像一個擴(kuò)展一樣,它也包含這樣一個功能,并且只為過程提供這個功能。上面的類中沒有這樣的()方法。

快速返回 mime

當(dāng)然,擴(kuò)展也為我們提供了一個快速返回文件mime信息的功能。我們可以在不使用對象或打開句柄的情況下快速輕松地獲取文件的mime信息。

echo?mime_content_type('./1.pHp中的日期相關(guān)函數(shù)(三).php'),?pHp_EOL;
//?text/x-php
echo?mime_content_type('./timg.jpeg'),?pHp_EOL;
//?image/jpeg

不過pHp官方好像已經(jīng)棄用了這個功能,不過現(xiàn)在已經(jīng)恢復(fù)了,也就是說不特別推薦使用這個功能。在正式的開發(fā)過程中,大家不要太麻煩。使用對象或相關(guān)函數(shù)獲取mime信息更可靠。

如果我們確定要判斷的文件只是圖片類型,那么我們也可以使用另外一個函數(shù)來獲取圖片文件的mime。

總結(jié)

很簡單但是很有用的功能php文件上傳代碼,為什么有用呢?上傳文件的安全問題可以通過它解決。我們在上傳文件時(shí),通常會在上傳數(shù)組中判斷文件的擴(kuò)展名和文件的MIME類型。但是很多工具可以在上傳過程中修改文件的MIME類型,即通過一些抓包工具修改-Type。但是通過擴(kuò)展獲取的文件必須是本地或遠(yuǎn)程存在的,也就是說不會出現(xiàn)上傳過程中修改傳輸信息導(dǎo)致的安全檢查繞過問題。

因此網(wǎng)站制作,在框架中, ///src///.php 類中的() 方法使用() 函數(shù)來獲取文件的mime 信息。在其上傳組件中,在底層框架中,對上傳文件的MIME判斷也是使用()函數(shù),(//mime/ser.php)沒有直接使用正常上傳的$type字段。

測試代碼:

學(xué)習(xí)在 pHp.php 中使用擴(kuò)展

參考文件:

新聞標(biāo)題:php文件上傳代碼標(biāo)配的一個擴(kuò)展了,為什么呢?(一)_php文件域上傳
URL標(biāo)題:http://aaarwkj.com/news25/295325.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化自適應(yīng)網(wǎng)站、定制開發(fā)、微信小程序、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
97人妻人人澡人人添人人爽| 午夜精品久久久免费视频| 国产一区二区三区精品久久| 色综合婷婷九月中文字幕| 高清国产在线播放91| 日韩视频精品一区二区| 欧美私人影院—区二区日本| 国产av剧情在线免费观看| 日韩精品免费一区二区三区| 五月婷久久精品国产亚洲av| 成人作爱视频免费播放 | 亚洲精品深夜福利视频| 开心久久婷婷综合中文字幕| 天堂av在线观看播放| 国产精品亚洲av三区国产毛片| 国产一区二区精品久久岳√| 欧美伊人色综合久久天天| 白天躁晚上躁天天躁在线| 青青草国产自拍在线视频| 校花出白浆视频一区二区三区| 青青草国产精品一区二区| 国产成人国产三级国产精品| 国产成人三级视频网站| 97视频在线视频免费| 精品国产50部农村老熟女av| 精品一区二区三区乱码中文| 亚洲日本欧美一区二区| 日韩欧美黄网站免费看| 亚洲男人av天堂东京热| 国产专区亚洲精品欧美| 欧美二区三区精品在线| 欧亚日韩精品一区二区在线| 在线播放国产91精品| 日本免费在线不卡一区二区| 亚洲国产中文字幕高清| 欧美黄片完整版在线观看| 欧美精品三级不卡在线| 亚洲精品高清一区二区| 丁香六月五月色婷婷网| 国产aaa级日本一区二区三区| 日本电影在线看一区二区|