我可以使用php从文件夹中获取文件扩展名吗?

我可以使用php从文件夹中获取文件扩展名吗?,php,Php,我有一个登记表,从中我给出姓名、姓氏和一张照片,然后我将姓名和姓氏存储在数据库中,但照片存储在文件夹中,name+lastname.extension 但是,当我想在网站上显示这些配置文件时,我会从数据库和img中获取name和lastname,我想要name+lastname,但有没有方法可以首先搜索名为name+lastname的文件夹中的文件扩展名是什么 因为我想访问该图像,所以我首先需要知道扩展名是png jpg还是其他什么?php中有一个名为pathinfo()的内置函数,您可以这样使

我有一个登记表,从中我给出姓名、姓氏和一张照片,然后我将姓名和姓氏存储在数据库中,但照片存储在文件夹中,
name+lastname.extension

但是,当我想在网站上显示这些配置文件时,我会从数据库和img中获取name和lastname,我想要
name+lastname
,但有没有方法可以首先搜索名为
name+lastname
的文件夹中的文件扩展名是什么


因为我想访问该图像,所以我首先需要知道扩展名是
png jpg
还是其他什么?

php中有一个名为pathinfo()的内置函数,您可以这样使用它

$result = glob ("name+lastname.*");
$ext=pathinfo($filename,pathinfo_扩展名)


那应该可以得到分机

是的,你可以这样做

$result = glob ("name+lastname.*");
$result将包含您的完整文件名

您可以使用扩展名进行搜索

$result = glob("name+lastname.{jpg,jpeg,png,gif}", GLOB_BRACE)

如果您使用一个扩展名(如PNG)保存它们,这会更好,但如果您不想这样做,请尝试以下方法:

$filename = 'name+lastname.';
if (file_exists($filename . 'png')) {
    echo "..."; // some HTML to show .png
} elseif (file_exists($filename . 'jpg')) {
    echo "..."; // some HTML to show .jpg
} else {
    echo "..."; // some HTML to show .gif
}
// and more

甚至更好的解决方案当你上传图像名称时,像这样命名:whatever.extension.example whatever.jpg.jpg通过这个小技巧,你可以获得你想要的任何文件的扩展名,而不必指定扩展名,因为你可以通过名称来获得它

最好将文件名保存在表单的其余字段中。@navederamzan你知道吗我把文件名保存在数据库里了?是的。这可能是保存文件名和易于访问的最佳方式,在
img
tagyes中确实如此,但是glob()函数做得相当好$ext=pathinfo(“img”。$\u SESSION['dept'].“/”。strtolower($emri.$mbiemri),pathinfo\u扩展名);我正在使用$_SESSION['dept']来知道要访问哪个img文件夹,然后使用/filename,但我没有得到扩展名,我做错了吗?假设$_SESSION['dept']的值为“map1”,那么您现在正试图调用imgmap1/因此,根据存储值的方式,您可能需要添加另一个斜杠。我不知道如何指定您的路径,因为我不知道您是如何存储variableshow的,它会知道在哪个文件夹中查找吗?