php 怎么取文件后缀名
时间 : 2023-03-24 22:04:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 PHP 中,我们可以使用 pathinfo 函数获取一个文件的后缀名,或者使用 explode 函数手动分离文件名和文件后缀。下面是两种方法的具体实现。

使用 pathinfo 函数获取文件后缀名

pathinfo 函数可以返回一个关联数组,其中包含有关路径中的信息。我们可以使用该函数来获取文件的后缀名。

示例代码如下:

```php

$filename = 'example.jpg';

$extension = pathinfo($filename, PATHINFO_EXTENSION);

echo $extension; // 输出:jpg

在上述示例代码中,我们将 $filename 变量指定为文件名,然后使用 pathinfo 函数来提取其文件后缀名。该函数的第二个参数 PATHINFO_EXTENSION 告诉它只返回文件的扩展名。

如果在获取后缀名之前需要检查文件名是否存在,可以使用文件函数 is_file:

```php

$filename = 'example.jpg';

if (is_file($filename)) { // 检查文件是否存在

$extension = pathinfo($filename, PATHINFO_EXTENSION);

echo $extension; // 输出:jpg

}

使用 explode 函数手动分离文件名和文件后缀

我们还可以使用 explode 函数将文件名分成数组,然后从数组中获取最后一个元素,即文件后缀名。

示例代码如下:

```php

$filename = 'example.jpg';

$parts = explode('.', $filename);

$extension = end($parts);

echo $extension; // 输出:jpg

在上述示例代码中,我们使用 explode 函数将字符串 $filename 分成数组,并以点号作为分隔符。然后使用 end 函数返回数组中的最后一个元素。

如果在使用 explode 函数之前需要检查文件名是否存在,可以使用文件函数 is_file:

```php

$filename = 'example.jpg';

if (is_file($filename)) { // 检查文件是否存在

$parts = explode('.', $filename);

$extension = end($parts);

echo $extension; // 输出:jpg

}

无论使用哪种方法,都可以轻松地获取 PHP 中文件的后缀名。

在 PHP 中获取文件的后缀名可以使用 pathinfo() 和 strtolower() 函数。

pathinfo() 函数可以返回路径的信息,它可以返回路径的目录部分、文件名部分和文件扩展名部分。

strtolower() 函数可以将字符串转换成小写字母,这样就可以忽略文件名中的大小写字母。

下面是一个示例代码,可以获取文件的后缀名:

<?php

$file = "example.txt";

$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));

echo $extension; // 输出 txt

?>

在上面的代码中,$file 变量存储了文件名,pathinfo() 函数返回了文件扩展名部分,strtolower() 函数将其转换成小写字母,最终输出文件的后缀名。

需要注意的是,如果文件没有扩展名,那么 pathinfo() 函数的返回值将是空字符串。因此在取文件后缀名的时候,应该先使用 isset() 函数或者 empty() 函数来判断文件是否有扩展名。

下面是一个完整的示例代码,可以获取文件后缀名并判断是否为图片类型:

<?php

$file = "example.png";

$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));

if(isset($extension) && in_array($extension, array("jpeg","jpg","png","gif"))) {

echo "这是一张图片。";

} else {

echo "这不是一张图片。";

}

?>

在上面的代码中,使用 in_array() 函数来判断文件是否为图片类型。具体来说,如果文件的后缀名是 jpeg、jpg、png 或 gif,则认为它是一张图片。