獲取上傳文件的擴展名
❶ 視頻文件後綴名都有 什麼
1、後綴:.AVI
AVI是Microsoft公司開發的一種符合RIFF文件規范的數字音頻與視頻文件格式,原先用於Microsoft Video for Windows環境,已被Windows 95/98、OS/2等多數操作系統直接支持。
2、後綴:.MOV/.QT
QuickTime是Apple計算機公司開發的一種音頻、視頻文件格式,用於保存音頻和視頻信息,具有先進的視頻和音頻功能,能夠提供對包括Apple Mas OS、Microsoft Windows在內的所有主流操作系統平台的支持。
3、後綴:.ASF
Microsoft公司推出的ASF是一個獨立於編碼方式的在Internet上實時傳播多媒體的技術標准,Microsoft公司希望用ASF取代QuickTime之類的技術標准以及WAV、AVI之類的文件擴展名,並打算將ASF用作將來的Windows版本中所有多媒體內容的標准文件格式。
4、後綴:.RM
RealVideo文件是RealNetworks公司開發的一種新型流式視頻文件格式,主要用來在低速率的廣域網上實時傳輸活動視頻影像,根據網路數據傳輸速率的不同而採用不同的壓縮比率,實現影像數據的實時傳送和實時播放。RealVideo與RealServer伺服器配合,實現在數據傳輸過程中邊下載邊播放視頻影像。Internet有許多網站利用RealVideo技術進行重大事件的實況轉播。
5、NAVI
NAVI是newAVI的縮寫,是一個名為ShadowRealm的地下組織發展起來的一種新視頻格式。它是由MicrosoftASF壓縮演算法的修改而來的。視頻文件格式主要追求的是壓縮效率和圖像質量.NAVI是一種去掉視頻流特性的改良型ASF格式,就是非網路版本的ASF。
6、DivX
DivX是一項由DivXNetworks公司發明的,類似於MPEG4/MP3的數字多媒體壓縮技術。簡單的理解就是Video部分以MPEG4格式壓縮,Audio部分以MP3壓縮組合而成的AVI影片,可以把MPEG-2格式的多媒體文件壓縮至原來的10%,也可以把VHS格式錄像帶格式的文件壓縮至原來的1%,其壓縮效率約為同樣播放時間的DVD的1/5~1/10,並且其聲音及影像的品質較好。
7、MPEG
後綴:.MPEG/.MPG/.DAT
MPEG是MovingPictureExpertsGroup,動態圖像專家的英文縮寫,這個專家組始建於1988年,專門負責為CD建立視頻和音頻標准,其成員均為視頻、音頻及系統領域的技術專家。由於ISO/IEC1172壓縮編碼標準是由此小組提出並制定的,MPEG由此聞名於世。
視頻文件是互聯網多媒體重要內容之一。其主要指那些包含了實時的音頻、視頻信息的多媒體文件,其多媒體信息通常來源於視頻輸入設備。
(1)獲取上傳文件的擴展名擴展閱讀:
視頻文件是互聯網多媒體重要內容之一。其主要指那些包含了實時的音頻、視頻信息的多媒體文件,其多媒體信息通常來源於視頻輸入設備。
QuickTime文件格式支持25位彩色,支持RLE、JPEG等領先的集成壓縮技術,提供150多種視頻效果,並配有提供了200多種MIDI兼容音響和設備的聲音專職。
QuickTime包含了基於Internet應用的關鍵特性,能夠通過Internet提供實時的數字化信息流、工作流與文件回放功能,此外,QuickTime還採用了一種稱為QuickTime VR技術的虛擬現實技術,用戶通過滑鼠或鍵盤的互動式控制,可以觀察某一地點周圍360度的景象,或者從空間任何角度觀察某一物體。
QuickTime以其領先的多媒體技術和跨平台特性、較小的存儲空間要求、技術細節的獨立性以及系統的高度開放性,得到業界的廣泛認可。
❷ php獲取文件mime類型的幾種方法
php獲取文件mime類型有以下幾種方法:
1、mime_content_type()函數判斷獲取mime類型
mime_content_type返回指定文件的MIME類型,
用法:
echomime_content_type('php.gif') ."\n";
echomime_content_type('test.php');
輸出:
image/gif
text/plain
但是php 5.3.0已經將該函數廢棄。如果仍想使用此函數,那麼可以對php進行配置啟用magic_mime擴展。
2、php Fileinfo 獲取文件MIME類型(finfo_open)
PHP官方推薦mime_content_type()的替代函數是Fileinfo函數。PHP
5.3.0+已經默認支持Fileinfo函數(fileinfo
support-enabled),不必進行任何配置即可使用finfo_open()判斷獲取文件MIME類型。
用法:
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
3、image_type_to_mime_type()獲取圖片MIME類型
如果需要判斷MIME類型的文件只有圖像文件,那麼首先可以使用exif_imagetype()函數獲取圖像類型常量,再用image_type_to_mime_type()函數將圖像類型常量轉換成圖片文件的MIME類型。
注意:需要在php.ini中配置打開php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上傳文件獲取MIME類型
如果使用php上傳文件,檢測上傳文件的MIME類型,則可以使用全局變數$_FILES['uploadfile']['type'],由客戶端的瀏覽器檢測獲取文件MIME類型。
❸ 怎麼獲取文件擴展名
如何獲取文件擴展名(獲取文件的擴展名)引言通常文件擴展名在Linux系統毫無意義,只是用來標記文件屬於哪種類型?但大多數人從瀏覽器上訪問Web程序。提交給伺服器的文件有擴展名稱。例如,上傳圖片和上傳文件是一些經典應用。
那麼如何在編程中准確獲取文件的擴展名,並根據分類進行相應的處理呢?實現的方法有很多。今天,我們將向您介紹一些最佳實踐。
粗糙的例子獲取上傳圖片的擴展名,有些學生可能會這樣寫:
$userfile_name = $_FILES['image']['name'];$userfile_extn = explode(".", strtolower($_FILES['image']['name;
然後直接執行文件名 explode ,切出來的是屬組。假設上傳文件的最後一個欄位是文件的擴展名,那麼文件的擴展名就是end($userfile_extn)。假設上傳文件的最後一個欄位是文件的擴展名,那麼文件的擴展名就是
end($userfile_extn)。
這種實現方法完美嗎?有更好的嗎?
如果文件名字元串特殊,這樣的程序會嗎? explode 失敗返回 False?拋出異常?
有可能會!所以有這個寫法 bug 的。
PHP 函數都准備好了!
PHP 內置無數實用函數的工具箱。有一個函數是專門設計來解決這個需求的:pathinfo。以下是用法:$path = $_FILES['image']['name'];$ext = pathinfo($path, PATHINFO_EXTENSION);
瞬間感覺香多了。
還是要多看文檔,我把這個函數的參數和用法貼在下面。所以盡量不要重復輪子。用官方寫的輪子,它靜靜地躺在幫助手冊里等著你去發現。輪子哥
當然,程序是活的。因為我的開發者給出其他解決方案是可以理解的。用 PHP 實現自帶函數的功能已經有了 N 多個辦法。讓我們貼幾個看起來不錯的輪子。至少容錯性比上面寫的高。
比如使用 strrpos substr 實現的:$userfile_name = $_FILES['image']['name'];$userfile_extn = substr($userfile_name, strrpos($userfile_name, '.') 1);
通過查找「.位置,向後一個開始截取字元串的末尾。避免了這種寫法 explored 截取數組失敗,然後返回 false 這個 bug。
另一個例子是,一些開發者只想要圖片的擴展名,可直接使用 image 相關的函數 getimagesize:$image = getimagesize($_FILES['image']['tmp_name']);getimagesize()
任何函數都會被測量 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 圖像文件的大小和返回圖像的大小、文件類型和一個可以用於普通文件 HTML 文件中 IMG 標記中的 height/width 文字字元串。若無法訪問 filename 指定圖像或非有效圖像,getimagesize()將返回
FALSE並產生一條 E_WARNING 級的錯誤。
如果 $image 不為 false,所以是屬組,其中鍵 mime 返回是圖片文件類型 image/jpeg 這樣的字元串。
如果 $image 不為 false,所以是屬組,其中鍵 mime 返回是圖片文件類型 image/jpeg 這樣的字元串。但是沒什麼LUAN用!
寫在最後
比較,還是 pathinfo 最香。
因為這就是 PHP 為什麼不使用官方給定的方式?
❹ 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('不被允許的文件類型');
}
?>