php 讀取文件頭判斷文件類型的實(shí)現(xiàn)代碼
更新時(shí)間:2013年08月05日 09:38:11 作者:
以下是對(duì)使用php實(shí)現(xiàn)讀取文件頭判斷文件類型,支持圖片、rar、exe等后綴進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
php代碼實(shí)現(xiàn)讀取文件頭判斷文件類型,支持圖片、rar、exe等后綴。
案例:
<?php $filename = "11.jpg";
//為圖片的路徑可以用d:/upload/11.jpg等絕對(duì)路徑
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只讀2字節(jié)
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode) {
case 7790: $fileType = 'exe'; break;
case 7784: $fileType = 'midi'; break;
case 8297: $fileType = 'rar'; break;
case 255216: $fileType = 'jpg'; break;
case 7173: $fileType = 'gif'; break;
case 6677: $fileType = 'bmp'; break;
case 13780: $fileType = 'png'; break;
default: echo'unknown';
}
echo'這是一個(gè)'.$fileType.' file:'.$typeCode;
案例:
?>
//linux下php還有個(gè)函數(shù)可以判斷文件類型
<?php
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
案例:
復(fù)制代碼 代碼如下:
<?php $filename = "11.jpg";
//為圖片的路徑可以用d:/upload/11.jpg等絕對(duì)路徑
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只讀2字節(jié)
fclose($file);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$fileType = '';
switch ($typeCode) {
case 7790: $fileType = 'exe'; break;
case 7784: $fileType = 'midi'; break;
case 8297: $fileType = 'rar'; break;
case 255216: $fileType = 'jpg'; break;
case 7173: $fileType = 'gif'; break;
case 6677: $fileType = 'bmp'; break;
case 13780: $fileType = 'png'; break;
default: echo'unknown';
}
echo'這是一個(gè)'.$fileType.' file:'.$typeCode;
案例:
復(fù)制代碼 代碼如下:
?>
//linux下php還有個(gè)函數(shù)可以判斷文件類型
<?php
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
相關(guān)文章
PHP動(dòng)態(tài)規(guī)劃解決0-1背包問(wèn)題實(shí)例分析
這篇文章主要介紹了PHP動(dòng)態(tài)規(guī)劃解決0-1背包問(wèn)題,實(shí)例分析了背包問(wèn)題的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-03-03PHP curl 獲取響應(yīng)的狀態(tài)碼的方法
PHP curl可以從服務(wù)器端模擬一個(gè)http請(qǐng)求,例如抓取網(wǎng)頁(yè)、模擬登陸等,想要獲取狀態(tài)碼,需要在執(zhí)行curl_exec后再通過(guò)curl_getinfo來(lái)獲取2014-01-01基于php中echo用逗號(hào)和用點(diǎn)號(hào)的區(qū)別詳解
下面小編就為大家分享一篇基于php中echo用逗號(hào)和用點(diǎn)號(hào)的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01PHP對(duì)XML內(nèi)容進(jìn)行修改和刪除實(shí)例代碼
這篇文章給大家主要介紹了利用PHP對(duì)XML內(nèi)容進(jìn)行修改和刪除的原理和方法,文中通過(guò)示例代碼介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)很有幫助,感興趣的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10用PHP實(shí)現(xiàn)遞歸循環(huán)每一個(gè)目錄
很多時(shí)候我們要遍歷一個(gè)文件夾里面的所有目錄,列出里面所有的文件,PHP本身自帶的有一個(gè)readdir的函數(shù),不過(guò)只能讀取當(dāng)前的目錄,根據(jù)這個(gè)函數(shù),我寫了另外一個(gè)函數(shù),用來(lái)實(shí)現(xiàn)我的需求。2010-08-08php實(shí)現(xiàn)把數(shù)組按指定的個(gè)數(shù)分隔
這篇文章主要介紹了php實(shí)現(xiàn)把數(shù)組按指定的個(gè)數(shù)分隔。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02