【问题标题】:fileinfo function PHP文件信息函数 PHP
【发布时间】:2011-03-22 20:20:47
【问题描述】:

谁能给我一个如何使用fileinfo的例子,来替换一个sn-p的代码,例如:

($_FILES["fileToUpload"]["type"] == "image/gif"
|| $_FILES["fileToUpload"]["type"] == "image/jpeg"
|| $_FILES["fileToUpload"]["type"] == "image/png")

【问题讨论】:

  • 我为投票失败道歉,但我找不到示例

标签: php fileinfo


【解决方案1】:

使用这个:

$finfo = new finfo();
$fileinfo = $finfo->file($file, FILEINFO_MIME);

$fileinfo 应该包含正确的 MIME 类型,您可以在类似的 sn-p 或类似的 switch 语句中使用它:

switch($fileinfo) {
    case "image/gif":
    case "image/jpeg":
    case "image/png":
        // Code
        break;
}

【讨论】:

  • 在你的情况下,它可能是 $_FILES["fileToUpload"]["tmp_name"]。
【解决方案2】:
$objInfo = new finfo(FILEINFO_MIME);
list($strImageType, $strCharset) = $objInfo->file($_FILES['fileToUpload']['tmp_name']);
//then use the variable $strImageType in your conditional
if ($strImageType == "image/gif" || $strImageType == "image/jpeg" || $strImageType == "image/png") {
//code
}

【讨论】:

    【解决方案3】:

    使用 FILEINFO_MIME_TYPE

    $filename = 'example.jpeg';
    
    // Get file info
    $finfo = new finfo();
    $fileinfo = $finfo->file($filename);                    // return JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 875x350, frames 3
    $info = $finfo->file($filename, FILEINFO_MIME);         // return 'image/jpeg; charset=binary'
    
    $type = $finfo->file($filename, FILEINFO_MIME_TYPE);    // return 'image/jpeg'
    
    switch($type)
    {
        case 'image/jpg':
        case 'image/jpeg':
            // code...
            break;
    
        case 'image/gif':
            // code...
            break;
    
        case 'image/png':
            // code...
    
        default:
            // error...
            break;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-01-11
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多