精华内容
下载资源
问答
  • 主要介绍了js判断上传文件类型判断FileUpload文件类型代码,需要的朋友可以参考下
  • PHP怎么判断上传文件类型发布时间:2021-02-14 10:58:11来源:亿速云阅读:90作者:小新这篇文章主要介绍了PHP怎么判断上传文件类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有...

    PHP怎么判断上传文件类型

    发布时间:2021-02-14 10:58:11

    来源:亿速云

    阅读:90

    作者:小新

    这篇文章主要介绍了PHP怎么判断上传文件类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    PHP怎么判断上传文件类型/**

    * 读取文件前几个字节 判断文件类型

    * @return String

    */

    function checkTitle($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'.$typeCode;

    break;

    }

    //Fix

    if($strInfo['chars1']=='-1' && $strInfo['chars2']=='-40'){

    return 'jpg';

    }

    if($strInfo['chars1']=='-119' && $strInfo['chars2']=='80'){

    return 'png';

    }

    return $fileType;

    }

    感谢你能够认真阅读完这篇文章,希望小编分享的“PHP怎么判断上传文件类型”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

    展开全文
  • 判断上传文件类型

    2009-11-02 11:01:00
    今天才发现判断文件类型的时候自己没有整理过这方面的东西,今天弄下:acx application/internet-property-streamai application/postscriptaif audio/x-aiffaifc audio/x-aiffaiff audio/x-aiffasf video/x-ms-...

    今天才发现判断文件类型的时候自己没有整理过这方面的东西,今天弄下:

    acx   application/internet-property-streamai   application/postscriptaif   audio/x-aiffaifc   audio/x-aiffaiff   audio/x-aiffasf   video/x-ms-asfasr   video/x-ms-asfasx   video/x-ms-asfau   audio/basicavi   video/x-msvideoaxs   application/olescriptbas   text/plainbcpio   application/x-bcpiobin   application/octet-streambmp   image/bmpc   text/plaincat   application/vnd.ms-pkiseccatcdf   application/x-cdfcer   application/x-x509-ca-certclass   application/octet-streamclp   application/x-msclipcmx   image/x-cmxcod   image/cis-codcpio   application/x-cpiocrd   application/x-mscardfilecrl   application/pkix-crlcrt   application/x-x509-ca-certcsh   application/x-cshcss   text/cssdcr   application/x-directorder   application/x-x509-ca-certdir   application/x-directordll   application/x-msdownloaddms   application/octet-streamdoc   application/msworddot   application/msworddvi   application/x-dvidxr   application/x-directoreps   application/postscriptetx   text/x-setextevy   application/envoyexe   application/octet-streamfif   application/fractalsflr   x-world/x-vrmlgif   image/gifgtar   application/x-gtargz   application/x-gziph   text/plainhdf   application/x-hdfhlp   application/winhlphqx   application/mac-binhex40hta   application/htahtc   text/x-componenthtm   text/htmlhtml   text/htmlhtt   text/webviewhtmlico   image/x-iconief   image/iefiii   application/x-iphoneins   application/x-internet-signupisp   application/x-internet-signupjfif   image/pipegjpe   image/jpegjpeg   image/jpegjpg   image/jpegjs   application/x-javascriptlatex   application/x-latexlha   application/octet-streamlsf   video/x-la-asflsx   video/x-la-asflzh   application/octet-streamm13   application/x-msmediaviewm14   application/x-msmediaviewm3u   audio/x-mpegurlman   application/x-troff-manmdb   application/x-msaccessme   application/x-troff-memht   message/rfc822mhtml   message/rfc822mid   audio/midmny   application/x-msmoneymov   video/quicktimemovie   video/x-sgi-moviemp2   video/mpegmp3   audio/mpegmpa   video/mpegmpe   video/mpegmpeg   video/mpegmpg   video/mpegmpp   application/vnd.ms-projectmpv2   video/mpegms   application/x-troff-msmvb   application/x-msmediaviewnws   message/rfc822oda   application/odap10   application/pkcs10p12   application/x-pkcs12p7b   application/x-pkcs7-certificatesp7c   application/x-pkcs7-mimep7m   application/x-pkcs7-mimep7r   application/x-pkcs7-certreqrespp7s   application/x-pkcs7-signaturepbm   image/x-portable-bitmappdf   application/pdfpfx   application/x-pkcs12pgm   image/x-portable-graymappko   application/ynd.ms-pkipkopma   application/x-perfmonpmc   application/x-perfmonpml   application/x-perfmonpmr   application/x-perfmonpmw   application/x-perfmonpnm   image/x-portable-anymappot,   application/vnd.ms-powerpointppm   image/x-portable-pixmappps   application/vnd.ms-powerpointppt   application/vnd.ms-powerpointprf   application/pics-rulesps   application/postscriptpub   application/x-mspublisherqt   video/quicktimera   audio/x-pn-realaudioram   audio/x-pn-realaudioras   image/x-cmu-rasterrgb   image/x-rgbrmi   audio/midroff   application/x-troffrtf   application/rtfrtx   text/richtextscd   application/x-msschedulesct   text/scriptletsetpay   application/set-payment-initiationsetreg   application/set-registration-initiationsh   application/x-shshar   application/x-sharsit   application/x-stuffitsnd   audio/basicspc   application/x-pkcs7-certificatesspl   application/futuresplashsrc   application/x-wais-sourcesst   application/vnd.ms-pkicertstorestl   application/vnd.ms-pkistlstm   text/htmlsv4cpio   application/x-sv4cpiosv4crc   application/x-sv4crct   application/x-trofftar   application/x-tartcl   application/x-tcltex   application/x-textexi   application/x-texinfotexinfo   application/x-texinfotgz   application/x-compressedtif   image/tifftiff   image/tifftr   application/x-trofftrm   application/x-msterminaltsv   text/tab-separated-valuestxt   text/plainuls   text/iulsustar   application/x-ustarvcf   text/x-vcardvrml   x-world/x-vrmlwav   audio/x-wavwcm   application/vnd.ms-workswdb   application/vnd.ms-workswks   application/vnd.ms-workswmf   application/x-msmetafilewps   application/vnd.ms-workswri   application/x-mswritewrl   x-world/x-vrmlwrz   x-world/x-vrmlxaf   x-world/x-vrmlxbm   image/x-xbitmapxla   application/vnd.ms-excelxlc   application/vnd.ms-excelxlm   application/vnd.ms-excelxls   application/vnd.ms-excelxlt   application/vnd.ms-excelxlw   application/vnd.ms-excelxof   x-world/x-vrmlxpm   image/x-xpixmapxwd   image/x-xwindowdumpz   application/x-compresszip   application/zip  

     

    转载于:https://www.cnblogs.com/panjun-Donet/archive/2009/11/02/1594372.html

    展开全文
  • 这几天都在写关于PHP文件上传的代码,BUG不断,都自己解决了,现在唯一没有解决的问题就是:判断上传文件类型。网上说的方法大多数是判断文件的扩展名或者类型($_FILES['file']['type']),但是如果有人把扩展名...

    这几天都在写关于PHP文件上传的代码,BUG不断,都自己解决了,现在唯一没有解决的问题就是:

    判断上传文件的类型。网上说的方法大多数是判断文件的扩展名或者类型($_FILES['file']['type']),但是如果有人把扩展名改掉,一样可以上传。所以我不使用这种方法。

    后来发现一个函数:

    function checkTitle($filename) //判断文件类型{$filename=($_FILES['file']['tmp_name']);$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 8075:$fileType = 'zip';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'.$typeCode;}//Fixif ($strInfo['chars1']=='-1' && $strInfo['chars2']=='-40' ){return 'jpg';} if ($strInfo['chars1']=='-119' && $strInfo['chars2']=='80' ) {return 'png';}return $fileType;}

    这个函数可以判断真实的文件类型,但是我调用函数的时候,使用:

    $type=array('.txt','.rtf','.doc','.docx','.xls','.xlsx','.ppt','.pptx','.jpg','.jpeg','.png','.bmp','.png','.zip','.rar','.7z','.tar','.gz','.tar.gz');

    if(!in_array(checkTitle ($_FILES['file']['tmp_name']) ,$type)) //判断上传文件类型

    {

    //文件类型不正确的提示

    }

    其中标红的部分,如果是$_FILES['file']['name']就报错,而如果是$_FILES['file']['tmp_name']就会提示文件类型不正确(即使我上传图片和rar文件也一样),请问怎么写才正确?

    回复讨论(解决方案)

    先打印出checkTitle方法的返回值是什么。

    checkTitle方法里面怎么还有个 $filename=($_FILES['file']['tmp_name']);

    1、

    function checkTitle($filename) //判断文件类型

    {

    $filename=($_FILES['file']['tmp_name']);

    应写作function checkTitle($filename) //判断文件类型{ $filename = $filename['tmp_name']);

    2、

    if(!in_array(checkTitle($_FILES['file']['tmp_name']),$type)) //判断上传文件类型

    {

    应写作

    if(!in_array(checkTitle($_FILES['file']),$type)) //判断上传文件类型{

    因为你不能假定表单控件都只命名为 file,如果是别的名字呢?

    1、

    function checkTitle($filename) //判断文件类型

    {

    $filename=($_FILES['file']['tmp_name']);

    应写作

    PHP code?123function checkTitle($filename) //判断文件类型{ $filename = $filename['tmp_n……

    我的表单里面上传文件就叫“file”:

    先打印出checkTitle方法的返回值是什么。

    checkTitle方法里面怎么还有个$filename=($_FILES['file']['tmp_name']);

    如果我写$filename=($_FILES['file']['name']);会报错,只好把name改成tmp_name

    自己把问题解决了:

    1.因为这时还没有移动临时文件,所以只能用tmp_name,如果用name当然无法得出结果(tmp_name的文件在服务器,而name的文件在客户端);

    2.判断不出来的原因是因为array()里面的值都有“.”,删除掉就可以了:

    $type=array('txt','rtf','doc','docx','xls','xlsx','ppt','.pptx','jpg','jpeg','png','bmp','png','zip','rar','7z','tar','gz','tar.gz');

    (因为我开始使用的是按扩展名判断的方法,所以都有“.”)

    现在文件上传的代码完全正常了,另外我在网上看到另一个代码,取文件头前4位,然后转换成16进制。

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 分享给大家php判断上传文件类型的方法,大家一起学习学习。 /** * 读取文件前几个字节 判断文件类型 * @return String */ function checkTitle($filename){ $file=fopen($filename, "rb"); $bin=fread($...
  • 代码如下# @param Python判断上传文件类型# @author 编程之家 jb51.cc|www.jb51.ccimport struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字...

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

    在开发上传服务时,经常需要对上传的文件进行过滤。

    代码如下

    # @param Python判断上传文件类型

    # @author 编程之家 jb51.cc|www.jb51.cc

    import struct

    # 支持文件类型

    # 用16进制字符串的目的是可以知道文件头是多少字节

    # 各种文件头的长度不一样,少半2字符,长则8字符

    def typeList():

    return {

    "52617221": EXT_RAR,"504B0304": EXT_ZIP}

    # 字节码转16进制字符串

    def bytes2hex(bytes):

    num = len(bytes)

    hexstr = u""

    for i in range(num):

    t = u"%x" % bytes[i]

    if len(t) % 2:

    hexstr += u"0"

    hexstr += t

    return hexstr.upper()

    # 获取文件类型

    def filetype(filename):

    binfile = open(filename,'rb') # 必需二制字读取

    tl = typeList()

    ftype = 'unknown'

    for hcode in tl.keys():

    numOfBytes = len(hcode) / 2 # 需要读多少字节

    binfile.seek(0) # 每次读取都要回到文件头,不然会一直往后读取

    hbytes = struct.unpack_from("B"*numOfBytes,binfile.read(numOfBytes)) # 一个 "B"表示一个字节

    f_hcode = bytes2hex(hbytes)

    if f_hcode == hcode:

    ftype = tl[hcode]

    break

    #不要忘记关闭打开的文件,避免出现异常

    binfile.close()

    return ftype

    if __name__ == '__main__':

    print filetype('512pic.jpg')

    # End www.jb51.cc

    常见文件格式的文件头

    文件格式 文件头(十六进制)

    JPEG (jpg) FFD8FF

    PNG (png) 89504E47

    GIF (gif) 47494638

    TIFF (tif) 49492A00

    Windows Bitmap (bmp) 424D

    CAD (dwg) 41433130

    Adobe Photoshop (psd) 38425053

    Rich Text Format (rtf) 7B5C727466

    XML (xml) 3C3F786D6C

    HTML (html) 68746D6C3E

    Email [thorough only] (eml) 44656C69766572792D646174653A

    Outlook Express (dbx) CFAD12FEC5FD746F

    Outlook (pst) 2142444E

    MS Word/Excel (xls.or.doc) D0CF11E0

    MS Access (mdb) 5374616E64617264204A

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 分享给大家php判断上传文件类型的方法,大家一起学习学习。/*** 读取文件前几个字节 判断文件类型* @return String*/function checkTitle($filename){$file=fopen($filename, "rb");$bin=fread($file, 2); //只读2...
  • 主要介绍了用ASP.net判断上传文件类型的三种方法,需要的朋友可以参考下
  • js--精准判断上传文件类型
  • 分享给大家php判断上传文件类型的方法,大家一起学习学习。/*** 读取文件前几个字节 判断文件类型* @return String*/function checkTitle($filename){$file=fopen($filename, "rb");$bin=fread($file, 2); //只读2...
  • 分享给大家php判断上传文件类型的方法,大家一起学习学习。/*** 读取文件前几个字节 判断文件类型* @return String*/function checkTitle($filename){$file=fopen($filename, "rb");$bin=fread($file, 2); //只读2...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下import struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字符,长则8字符def type...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下importstruct#支持文件类型#用16进制字符串的目的是可以知道文件头是多少字节#各种文件头的长度不一样,少半2字符,长则8字符deftypeList()...
  • JS判断上传文件类型

    2015-02-09 10:31:22
    1.使用js判断上传文件类型 [code="java"]//判断上传文件是否为图片 function checkImgType(){ var value=document.getElementById("photo").value; if (value == "") { ...
  • 用PHP做上传文件功能时,一般限制可上传的文件类型的做法是通过文件的后缀进行判断,但这样的做法存在缺点,相信所有的phper们都是知道的,只要修改一下文件后缀,各种文件皆可上传。下面我们提供一个通过读取文件头...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下import struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字符,长则8字符def type...
  • js和react判断上传文件类型

    千次阅读 2017-08-22 15:08:29
    1.js判断上传文件类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value))) { alert("只允许上传jpg|gif|png|jpeg格式的图片"); if(window.ActiveXObject)...
  • php通过判断上传文件的头字符来判断文件的类型,这可以称得上是最安全,最真实确定上传文件类型的方法了,具体实现方法:/*** 读取文件前几个字节 判断文件类型* @return string*/function checkFileType($filename)...
  • PHP判断上传文件类型

    2010-07-21 20:43:38
    PHP判断上传文件类型,很实用的,可以判断.csv格式 [code="java"]
  • 但拓展名可以手动修改,做不到精准,比如把一个word文档由.doc改为.png解决方案将上传文件转为二进制形式后,再获取其前四位头文件的十六进制编码,根据这个就可以精准判定上传文件类型。对于不符合上传格式要求的,...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下import struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字符,长则8字符def type...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下import struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字符,长则8字符def type...
  • 本文为大家提供了python通过文件头判断文件类型的方法,非常实用。代码如下import struct# 支持文件类型# 用16进制字符串的目的是可以知道文件头是多少字节# 各种文件头的长度不一样,少半2字符,长则8字符def type...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,013
精华内容 805
关键字:

判断上传文件类型