首頁 後端開發 php教程 php 上传文件 判断 文件类型解决思路

php 上传文件 判断 文件类型解决思路

Jun 13, 2016 pm 01:46 PM
break case quot

php 上传文件 判断 文件类型
我 现在 想 上传 一个 csv 文件,
在 php 里 怎么 判断 这个 文件 类型 是 csv 的呢?

注:
除了 判断 扩展名 之外,还有 什么 判段 的 方法??

------解决方案--------------------
$_FILES["file"]["type"]
------解决方案--------------------

探讨

$_FILES["file"]["type"]

------解决方案--------------------
学习了!!!!!!!!!!!!!!!
------解决方案--------------------
楼主非要把简单的事情复杂化。那也没办法!
------解决方案--------------------
网上流传的一个不错的方法
PHP code
function ftype($filename){
    $file    = fopen($filename, "rb");
    $bin    = fread($file, 2); //只读2字节
    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:
            $fileType = 'unknown';
    }
    return $fileType;
}
<br><font color="#e78608">------解决方案--------------------</font><br>我认为8楼得方法已经尽最大程度判定了,按照楼主的意思就是上传的文件如何判定其内容是不是csv格式的(不相信扩展名),那就只能获取文件里面内容,并根据里面内容的形式判定是不是csv文件,但是这种办法是要在后台实现的,也就是说此时文件已经上传了,上传了再判定就没有什么用了。所以,个人认为,不上传,还要判断内容形式,没什么好的解决办法。
<br><font color="#e78608">------解决方案--------------------</font><br>
登入後複製
探讨

我的 意思是 csv 不是 用 , 这个 隔开的 文件 吗

aa,bb,cc,dd
ee,ff,gg,hh

类似 这样的 文件
按 8楼 的 说法 这个 文件 的 typeCode=131112
可是

aa,"b
b",cc,dd
ee,ff,gg,hh

这个 样子 也 是正确 的 csv 格式 类型 但是 这个 文件 的 typeCode=105105
……
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
HMD Skyline 獲得新的顏色選項和官方磁性外殼 HMD Skyline 獲得新的顏色選項和官方磁性外殼 Aug 23, 2024 am 07:04 AM

上個月推出 HMD Skyline(亞馬遜售價 499 美元)時,它有兩種顏色:霓虹粉和扭曲黑。現在,第三種顏色加入了藍色托帕石的行列。 HMD Global 也宣布了 PH 的官方案例

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

switch case判斷變數 switch case判斷變數 Feb 19, 2024 am 08:04 AM

switchcase判斷變量,需要具體程式碼範例在程式設計中,我們經常需要根據不同的變數值來執行不同的操作。 switchcase語句是一種方便的結構,可以根據變數的值來選擇不同的程式碼區塊來執行。以下是一個具體的程式碼範例,展示如何使用switchcase語句判斷變數的不同取值:#includeintmain(){

聊聊PHP switch語句中不使用break的情況 聊聊PHP switch語句中不使用break的情況 Mar 20, 2023 pm 04:55 PM

在PHP中使用switch語句來進行多個分支的選擇是很常見的,通常在每個分支結束後會使用break語句來退出switch語句。然而,有些情況下我們不想使用break語句,本文將介紹在PHP switch語句中不使用break的情況。

php裡面break的用法是什麼 php裡面break的用法是什麼 Jan 31, 2023 pm 07:33 PM

在php中,break用來跳出目前的語法結構,執行下面的語句;可以在switch、for、while和do while等語句中使用,可以終止循環體的程式碼並立即跳出目前的循環,執行循環之後的代碼。 break語句可以帶一個參數n,表示跳出循環的層數,如果要跳出多重循環的話,可以用n來表示跳出的層數,如果不帶參數預設是跳出本重循環。

Java中的break關鍵字的作用是什麼? Java中的break關鍵字的作用是什麼? Apr 23, 2023 am 10:13 AM

說明1.break的作用是跳出現在的循環塊(for、while、dowhile)或程式塊(switch)。 2.循環塊的作用是跳出現在循環中的循環體。程式區塊中的作用是中斷和下一個case條件的比較。在switch語句中使用break,終止switch語句。當break用於循環時,跳出循環。在其他地方使用break是沒有意義的。實例intsum=0;inti;for(i=1;i

JS循環學習:跳出迴圈語句break和continue JS循環學習:跳出迴圈語句break和continue Aug 03, 2022 pm 07:08 PM

在之前的文章中,我們帶大家學習了JS中的幾種循環控制結構(while和do-while循環、for循環),下面聊聊跳出循環語句break和continue,希望對大家有所幫助!

Go語言break停止語句有什麼用 Go語言break停止語句有什麼用 Jan 18, 2023 pm 03:46 PM

在Go語言中,break停止語句用於循環語句中跳出循環,並開始執行循環之後的語句。 break語句可以結束for、switch和select的程式碼區塊,另外break語句也可以在語句後面加上標籤,表示退出某個標籤對應的程式碼區塊,標籤要求必須定義在對應的for、switch和select的程式碼區塊上。

See all articles