php 如何判断文件类型是什么,如果文件后缀改过的该如何查
时间: 2024-04-14 08:25:44 浏览: 99
在PHP中,可以使用`mime_content_type()`函数或`finfo_file()`函数来判断文件的类型。
使用`mime_content_type()`函数:
```php
$filename = 'path/to/file.ext';
$filetype = mime_content_type($filename);
echo $filetype;
```
使用`finfo_file()`函数:
```php
$filename = 'path/to/file.ext';
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$filetype = finfo_file($finfo, $filename);
finfo_close($finfo);
echo $filetype;
```
如果文件的后缀被改过,可以尝试使用文件内容来判断文件类型。可以根据文件的魔术数字(magic number)来判断文件类型。这个数字是文件开头的几个字节,用于标识文件的类型。
以下是一个简单的示例,用于通过文件内容判断文件类型:
```php
$filename = 'path/to/file.ext';
$file = fopen($filename, 'rb');
$magicNumber = fread($file, 4); // 读取前4个字节
fclose($file);
if ($magicNumber === "\x50\x4B\x03\x04") {
echo "文件类型为ZIP";
} elseif ($magicNumber === "\x25\x50\x44\x46") {
echo "文件类型为PDF";
} else {
echo "未知文件类型";
}
```
上述示例中,通过读取文件开头的4个字节来判断文件类型,根据不同的魔术数字来判断不同的文件类型。你可以根据具体的文件类型和对应的魔术数字来进行判断。
阅读全文