首页 > 后端开发 > php教程 > PHP 获取文件扩展名

PHP 获取文件扩展名

WBOY
发布: 2024-08-29 13:03:04
原创
636 人浏览过

PHP 文件扩展名对于对任何上传的文件进行正确的验证非常有用。从文件名或文件位置获取扩展名非常有用,因为它让程序员知道他们必须上传或操作仅与 PHP 相关的文件,而不是任何其他编程语言或具有任何其他扩展名的文件。每当需要获取文件扩展名时,自定义 PHP 都会发挥重要作用,因为这些函数会返回所需的文件扩展名,使用该扩展名可以更新所需的 PHP 相关文件。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法

每种编程语言都有文件扩展名,PHP 文件也有,表示为:

public SplFileInfo::getExtension() : string, filename etc.
登录后复制

哪里,

  • public:它是一个访问修饰符,用于证明程序的作用域是公共的,任何人都可以访问。
  • SplFileInfo:包含文件名和内容,用于获取与文件相关的信息。
  • getExtension():这是PHP中的函数,用于获取与PHP相关的扩展。
  • 字符串:字符串是作为 getExtension() 函数一部分提供的输入类型。

如何在 PHP 中获取文件扩展名?

有很多方法可以在任何编程语言中获取文件扩展名,因为它有助于识别内容和文件,这与 PHP 相关以便于操作。因此,PHP 中的文件扩展名有很多优点和缺点,在 PHP 中获取扩展名的方法如下:

  • 一些自定义函数可用于将参数作为扩展返回,大多数 PHP 版本都支持这种扩展,包括像 substr() 这样的函数,它广泛用于返回字符串的一部分。
  • 用于返回扩展名作为字符串一部分的另一个函数包括 strrchr(),它用于查找一个字符串在另一个字符串中最后一次出现的位置,或者可以说是嵌套字符串。
  • PHP pathinfo() 函数是用于返回有关 PHP 的文件信息的另一种简单方法,用于获取所有必要且重要的信息,例如文件所在的路径,后跟目录名、基本文件名称,文件的扩展名。
  • 与 SplFileInfo 一起使用时,获取文件扩展名也可以通过考虑所需的字符串来返回预期的文件扩展名。
  • PHP 程序员忘记放置扩展的情况有很多;因此可以说 PHP 程序中不存在扩展,在这种情况下,将很难使用所有必要的信息来处理文件,从而使程序员处理空字符串,因为返回类型将为空字符串。
  • 有很多方法可以确定扩展名或获取文件扩展名;在这种情况下,可能有机会在 pathinfo() 函数中使用多个点,它将跟踪嵌套路径,然后返回与预期相同的结果,而不会在最后一种文件扩展名上遇到太多麻烦。
  • 在 PHP 中使用 pathinfo() 函数时,在实现 PHP 代码时,如果使用 null 且未定义扩展名,则存在一个微小的差异,因为当前一个用于检索字符串时,它将返回 null另一方面,当没有提供扩展名时,当某些不匹配或默认值被输入时,就会出现转折,它的行为有点类似于空字符串,而不提供任何相关或必需的信息。
  • 因此,这些函数对于 PHP 开发人员保持元数据和其他与文件相关的操作正确执行非常有用。
  • 许多工作都是为了在 PHP 中获取文件扩展名,但所描述的方法很容易理解和执行。

PHP 获取文件扩展名的示例。

以下是下面提到的示例

示例#1

此程序演示了使用 SplFileInfo 作为其 inbuild 函数的 getExtension 函数,该函数允许传递带有扩展名的任何字符串以获得 PHP 代码库的支持,如输出所示。

代码:

<?php
$in_1 = new SplFileInfo('foam.txt');
var_dump($in_1->getExtension());
$in_1 = new SplFileInfo('import_ant.tar.gz');
var_dump($in_1->getExtension());
$in_1 = new SplFileInfo('image_with.jpeg');
var_dump($in_1->getExtension());
?>
登录后复制

输出:

PHP 获取文件扩展名

Example #2

This program demonstrates the pathinfo, which tells about the given file’s information and can be used to get the directory name, base name, file name, and extension. It will return the text file as shown in the output.

Code:

<?php
$fil_nm = 'directory_1/anu.txt';
$extnsn = pathinfo($fil_nm, PATHINFO_EXTENSION);
var_dump($extnsn);
?>
登录后复制

Output:

PHP 获取文件扩展名

Example #3

This program demonstrates the approach to get the file extension if in a file with multiple periods or dots exists then also pathinfo will work as shown in the output.

Code:

<?php
$fl_nm = 'fldr/exmpl.txt.jpeg.tar.gz';
$extnsn = pathinfo($fl_nm, PATHINFO_EXTENSION);
var_dump($extnsn);
?>
登录后复制

Output:

PHP 获取文件扩展名

Example #4

This program demonstrates the custom function which is used for returning substring by calling the function wherever required, as shown in the output.

Code:

<?php
function get_fl_extnsn($fname) {
return substr(strrchr($fname,'.'),1);
}
echo get_fl_extnsn('extension.jpg.txt');
?>
登录后复制

Output:

PHP 获取文件扩展名

Example #5

This program demonstrates the output if there is no extension if an empty string with pathinfo() function will return as shown.

Code:

<?php
$fl_pth = 'path/to_1/file_n/';
$extn = pathinfo($fl_pth, PATHINFO_EXTENSION);
var_dump($extn);
?>
登录后复制

Output:

PHP 获取文件扩展名

Example #6

This program demonstrates the pathinfo regarding the file name with an extension which is being included and is manipulated as per the requirement as shown in the output. It can support a multi dot file structure for getting the extension.

Code:

<?php
$pth_pp = pathinfo('include/bin.include.php');
echo $pth_pp['extension'], "\n";
echo $pth_pp['filename'], "\n";
?>
登录后复制

Output:

PHP 获取文件扩展名

Conclusion

PHP get file extension like other programming languages is used for identifying the type of PHP file that will get uploaded and manipulated by giving some must information like a directory, extension, file name, basename. It is advantageous when some troubleshooting is required from getting out of a stuck situation.

以上是PHP 获取文件扩展名的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板