在我的图片文件夹中有文件
1_cover.???
2_cover.???
3_cover.???
4_cover.???
5_cover.???
我想获得文件扩展名4_cover。??? 如何编写PHP代码
==========
感谢大家的帮助, 我可以使用这段代码
$images = glob("./images/4_cover.*");
print_r($images);
答案 0 :(得分:0)
这就是你要找的东西吗?
$info = new SplFileInfo('photo.jpg');
$path = $info->getExtension();
var_dump($path);
答案 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'