$_FILES['userfile']['type']   文件的 MIME 类型,需要浏览器提供该信息的支持

解决方案 »

  1.   

    手册中对于$_FILES['userfile']['type']的说明是:
    文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。所以我不敢用这个变量的值来判断文件的类型,也不知道怎么用好点,我采用的是个笨办法--通过后缀来判断,取$_FILES['userfile']['name']变量后3个及4个字符分别进行判断.
      

  2.   

    用来检查文件的扩展名也是一个办法.
    但是如果有意将文件扩展名改变的话,也会存在问题的.$size = getimagesize('xxx.jpg'); 这个函数除了返回图片的size之外,也返回图片的mime类型.
    $size['mime']:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3 新加的 IMAGETYPE 常量对应.