doushi3189 2011-12-06 19:45
浏览 56
已采纳

确定文件是否是PHP中的图像的最佳方法是什么?

I have a sever which people can upload files to. The problem is that some of the filenames are mangled (dont have any extension) and so I cannot immediately determine file type. This question is two part: for the files which do have filenames what is the best way to determine whether or not it is an image? (Just a big long if/else if list?) Secondly, for the files which dont have extensions, how can I determine if they are images?

  • 写回答

12条回答 默认 最新

  • dongyun6835 2011-12-06 19:53
    关注

    You can use exif_imagetype()

    <?php
        $type =exif_imagetype($image);
    

    where $type is a value

    1. IMAGETYPE_GIF
    2. IMAGETYPE_JPEG
    3. IMAGETYPE_PNG
    4. IMAGETYPE_SWF
    5. IMAGETYPE_PSD
    6. IMAGETYPE_BMP
    7. IMAGETYPE_TIFF_II (intel byte order)
    8. IMAGETYPE_TIFF_MM (motorola byte order)
    9. IMAGETYPE_JPC
    10. IMAGETYPE_JP2
    11. IMAGETYPE_JPX
    12. IMAGETYPE_JB2
    13. IMAGETYPE_SWC
    14. IMAGETYPE_IFF
    15. IMAGETYPE_WBMP
    16. IMAGETYPE_XBM
    17. IMAGETYPE_ICO

    From the manual:

    When a correct signature is found, the appropriate constant value will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but exif_imagetype() is much faster.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算