Maison développement back-end tutoriel php php 上传文件 判断 文件类型解决思路

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

Jun 13, 2016 am 10:09 AM
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>
Copier après la connexion
探讨

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

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

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

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

这个 样子 也 是正确 的 csv 格式 类型 但是 这个 文件 的 typeCode=105105
……
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

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

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

HMD Skyline obtient une nouvelle option de couleur et un boîtier magnétique officiel HMD Skyline obtient une nouvelle option de couleur et un boîtier magnétique officiel Aug 23, 2024 am 07:04 AM

HMD Skyline obtient une nouvelle option de couleur et un boîtier magnétique officiel

variable de jugement de cas de changement variable de jugement de cas de changement Feb 19, 2024 am 08:04 AM

variable de jugement de cas de changement

À quoi sert l'instruction break stop en langage Go ? À quoi sert l'instruction break stop en langage Go ? Jan 18, 2023 pm 03:46 PM

À quoi sert l'instruction break stop en langage Go ?

Apprentissage en boucle JS : les instructions de sortie de boucle s'interrompent et continuent Apprentissage en boucle JS : les instructions de sortie de boucle s'interrompent et continuent Aug 03, 2022 pm 07:08 PM

Apprentissage en boucle JS : les instructions de sortie de boucle s'interrompent et continuent

A quoi sert break en php A quoi sert break en php Jan 31, 2023 pm 07:33 PM

A quoi sert break en php

Parlons de ne pas utiliser break dans l'instruction PHP switch Parlons de ne pas utiliser break dans l'instruction PHP switch Mar 20, 2023 pm 04:55 PM

Parlons de ne pas utiliser break dans l'instruction PHP switch

Quelle est la fonction du mot-clé break en Java ? Quelle est la fonction du mot-clé break en Java ? Apr 23, 2023 am 10:13 AM

Quelle est la fonction du mot-clé break en Java ?

See all articles