如何在php 5.2.9中检查文件是图像还是视频类型?

kir*_*dam 9 php

如何在php 5.2.9中检查文件是图像还是视频类型

Sem*_*mas 18

$mime = mime_content_type($file);
if(strstr($mime, "video/")){
    // this code for video
}else if(strstr($mime, "image/")){
    // this code for image
}
Run Code Online (Sandbox Code Playgroud)

应该适用于大多数文件扩展.


Gor*_*don 6

看我的回答

示例代码

 function getMimeType($filename)
 {
     $mimetype = false;
     if(function_exists('finfo_fopen')) {
         // open with FileInfo
     } elseif(function_exists('getimagesize')) {
         // open with GD
     } elseif(function_exists('exif_imagetype')) {
        // open with EXIF
     } elseif(function_exists('mime_content_type')) {
        $mimetype = mime_content_type($filename);
     }
     return $mimetype;
 }
Run Code Online (Sandbox Code Playgroud)


Pau*_*nko 6

我使用以下代码,在我看来,它比第一个也是最受好评的答案更通用:

$mimeType = mime_content_type($filename);
$fileType = explode('/', $mimeType)[0];
Run Code Online (Sandbox Code Playgroud)

我希望这对任何人都有帮助。


nic*_*ico 3

您可以使用以下函数检查 MIME 类型finfo_file

帮助页面中的示例

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
    echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>
Run Code Online (Sandbox Code Playgroud)

编辑:在更好地检查你的问题之后,这不起作用,finfo函数需要 PHP 5.3.0