我有文件夹文件,但如何了解文件扩展名

时间:2017-01-08 02:47:49

标签: php

在我的图片文件夹中有文件

1_cover.???
2_cover.???
3_cover.???
4_cover.???
5_cover.???

我想获得文件扩展名4_cover。??? 如何编写PHP代码

==========

更新

感谢大家的帮助, 我可以使用这段代码

$images = glob("./images/4_cover.*");
print_r($images);

3 个答案:

答案 0 :(得分:0)

这就是你要找的东西吗?

$info = new SplFileInfo('photo.jpg');
$path = $info->getExtension();
var_dump($path);

PHP Documentation

答案 1 :(得分:0)

如果你想在目录中查找文件,这可能不是最适合你的方法,但由于你不知道文件类型是什么,你可以这样做:(所有代码应按从上到下的顺序排列)

包含所有文件的目录

$directory = "public/images/headers/*";

glob函数收集的文件,如果出现错误,请使用print_r($files)查看为调试而收集的所有文件

$files = glob( $directory );

您说您要查找的文件,如果是来自数据库,您将使用数据库中的数据替换此数据

$filename_to_lookfor = '4_cover.';

如果要检查文件类型的语句并查看它们是否存在

$file_types_to_check_for = ['gif', 'jpg', 'png'];

foreach ($file_types_to_check_for as $filetype)
  if (in_array( $filename_to_lookfor.$filetype, $files)
  echo "This is a {$filetype} file!";

在阅读更多内容后 - 我对此并不太熟悉。

你可以简单地写下这一行:

if (count($files = glob( 'public/images/4_cover.*' )) != 0) $file = $files[0]; else echo 'No file with extension!'; 

$file = (count($files = glob('public/images/4_cover.*') != 0)) ? $files[0] : 'NO_FILE' ;

我为质量相当差的代码道歉,但这就是OP想要的,这是我能想到的最简单的方法。

答案 2 :(得分:0)

您可以使用pathinfo function

$file = "file.php";
$path_parts = pathinfo($file);
$path_parts['extension']; // return => 'php'