導航:首頁 > 編程語言 > php判斷上傳文件類型

php判斷上傳文件類型

發布時間:2023-06-16 18:36:50

php文件上傳類型限制

有兩種方式可以給你解決,也可以幾種方式同時使用

  1. 使用原本自帶的函數getimagesize來判斷是否是圖片

  2. 使用獲取上傳文件頭的方式來判斷

$filename='xxxx.gif';
$file=fopen($filename,'rb');
$bin=fread($file,2);//只讀取上傳文件的頭文信息的2個位元組
fclose($file);
$strInfo=@unpack('c2chars',$bin);
$typeCode=intval($strInfo['chars1'].$strInfo['chars2']);
$fileType='';
switch($typeCode){
case7790:
$fileType='exe';
break;
case7784:
$fileType='midi';
break;
case8297:
$fileType='rar';
break;
case255216:
$fileType='jpg';
break;
case7173:
$fileType='gif';
break;
case6677:
$fileType='bmp';
break;
case13780:
$fileType='png';
break;
default:
echo'unknown';
break;
}
echo'文件類型:'.$fileType.'文件頭信息:'.$typeCode;

希望對你有用!

㈡ 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上傳文件是,判斷是否csv文件的文件類型怎麼寫

$_FILES接收到文件信息是個數組。

其中$_FILES['myFile']['name']客戶端文件的原名稱,

您用『.』來分割$_FILES['myFile']['name']分成一個索引數組,這個數組的最後一個值就是文件的擴展名。

或者你從最後一個「.」位置截取$_FILES['myFile']['name'],截取到最後。得到的結果也是文件的擴展名;

$_FILES['myFile']['type']得到的是文件的 MIME類型,這個並不能很好的反映文件的擴展名,

例如:

MIME類型為「text/html」,這個類型對應.html .htm .stm三種文件擴展名

MIME類型為「text/plain」,對應的是.c .txt .h .bas四種文件擴展名


㈣ 上傳文件時。PHP如何獲取上傳文件的具體信息

這與swfupload是無關的.路徑是你自己設定的或是默認PHP文件的當前路徑. 你可以看看$_FILES的這個全局變數 ,專門管理所有上傳的文件的.包含臨時路徑等.

㈤ PHP判斷上傳文件是不是webp

讀取文件前幾個位元組 判斷文件類型就好了

㈥ php中關於判斷上傳文件格式

$kuozhan=array('jpg','gif','doc');
$flag = 1; // 判斷上傳文件是否格式正確,正確則為1 , 有一個格式錯誤則0
// 循環,檢測格式是否錯誤

foreach($val['tmp_name'] as $key=>$us){
foreach($val['name'] as $key=>$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上傳失敗,格式錯誤!";
$flag = 0; // 格式有錯,flag為0

break;

}
}
}
// 上傳文件
if ($flag == 1) {
循環上傳文件

}

㈦ 怎麼用php實現文件的上傳,要求文件類型為jpg,大小不超過2m,上傳的文件存放在u

$_FILES官方文檔

你可以看看官方的$_FILES文檔,裡面有對$_FILES的內容的解釋。

想通過PHP來處理文件信息就得通過$_FILES的內容來處理,比如文件類型可以用type來判斷,要求文件類型為jpg,那就判斷if ($_FILES['file1']['type'] === 'image/jpeg'),這里的file1並不是絕對的,視情況而定。

當然如果你覺得判斷類型太麻煩,你也可以直接從name中判斷後綴名,自己將文件名分割一下就好了。大小可以用size,默認單位是位元組,不超過2M就要除以1024*1024了,可以將位元組轉換到兆位元組。

要將上傳的文件放在U目錄下,就用move_uploaded_file函數來解決,move_uploaded_file官方文檔

閱讀全文

與php判斷上傳文件類型相關的資料

熱點內容
我的世界如何屏蔽別人伺服器 瀏覽:907
單片機燒錄員 瀏覽:970
美國數據伺服器可以部署什麼業務 瀏覽:973
如何卸載伺服器中的ie 瀏覽:42
單片機必須學編程嗎 瀏覽:153
如何判斷是否與伺服器連接資料庫 瀏覽:740
吃甜食會緩解壓力嘛 瀏覽:317
pdf魔鬼 瀏覽:29
二維數組遞歸解決演算法問題 瀏覽:382
java反射例子 瀏覽:670
惠普筆記本自帶解壓軟體 瀏覽:840
抖音視頻後台壓縮 瀏覽:707
app里的視頻廣告從哪裡接的 瀏覽:556
天翼雲伺服器跟騰訊雲 瀏覽:618
cyk演算法實現 瀏覽:191
大潘號app在哪裡可以下載 瀏覽:109
怎麼做解壓豌豆捏捏樂 瀏覽:618
安卓手機怎麼調成蘋果表情 瀏覽:755
android藍牙聲音 瀏覽:850
橫盤震盪選股公式源碼 瀏覽:589