PHP 获取文件扩展名60


PHP 提供了多种方法来获取文件扩展名,也就是文件路径的最后一段。以下是一些常用方法:

pathinfo() 函数pathinfo() 函数返回一个包含有关文件路径信息的关联数组。其中,extension 键存储扩展名。
```php
$filepath = 'path/to/';
$pathinfo = pathinfo($filepath);
echo $pathinfo['extension']; // 'jpg'
```

substr() 与 strrpos() 函数substr() 函数提取字符串的一部分,strrpos() 函数查找字符串最后一次出现的指定字符。可以结合这两个函数来获取扩展名。
```php
$filepath = 'path/to/';
$extension = substr($filepath, strrpos($filepath, '.') + 1);
echo $extension; // 'jpg'
```

mime_content_type() 函数mime_content_type() 函数根据文件的 MIME 类型猜测其扩展名。然而,对于某些文件类型,此方法可能不准确。
```php
$filepath = 'path/to/';
$extension = mime_content_type($filepath);
echo $extension; // 'image/jpeg'
```

finfo() 函数finfo() 函数提供有关文件的信息,包括扩展名。它需要 Fileinfo 扩展的支持。
```php
$filepath = 'path/to/';
$finfo = new finfo(FILEINFO_MIME_TYPE);
$extension = substr($finfo->file($filepath), strrpos($finfo->file($filepath), '/') + 1);
echo $extension; // 'jpg'
```

getimagesize() 函数getimagesize() 函数获取有关图像文件的信息,包括其扩展名。
```php
$filepath = 'path/to/';
$image_info = getimagesize($filepath);
echo $image_info[2]; // 2 为 IMAGETYPE_JPEG 常量,表示文件是 JPEG
```

fileinfo() 函数fileinfo() 函数与 finfo() 类似,但提供了更高级的特性。它需要 Fileinfo 扩展的支持。
```php
$filepath = 'path/to/';
$fileinfo = new Fileinfo(FILEINFO_MIME_TYPE);
$extension = substr($fileinfo->file($filepath), strrpos($fileinfo->file($filepath), '/') + 1);
echo $extension; // 'jpg'
```

选择方法选择适合您的特定需求的方法。对于简单而通用的扩展名获取,pathinfo() 或 substr() 与 strrpos() 的组合通常就足够了。对于更高级的功能或 MIME 类型猜测,可以使用 ffnfo() 或 getimagesize()。

2024-10-15


上一篇:PHP 中判断字符串相等的强大指南

下一篇:PHP 中截取字符串长度的实用指南