如何根据文件名从公共目录检查目标文件的扩展名?

时间:2019-06-18 05:35:08

标签: php laravel eloquent

我在公共目录中有一个员工文件夹。可以使用不同的扩展名将图片上传到此处。扩展名可以是小写或大写字母。

示例: 用户可以上传如下文件:

 12345.JPG Or 12345.jpg Or 12345.PNG Or 12345.png

当我要根据员工编号显示/查看此上传的图像文件时,首先我需要从公共目录中了解该上传文件的正确扩展名。

我试图显示仅对一个扩展名使用下面的扩展名,而不对所有扩展名使用

<img class="profile-user-img img-fluid img-circle"
    src="{{ (file_exists(public_path('/hrm/employee/'.$employee->employee_no.'.JPG'))) ? asset('/hrm/employee/'.$employee->employee_no.'.JPG') : asset('/hrm/employee/'.$employee->employee_no.'.jpg') }}"
    alt="User profile picture">

有人可以告诉我如何在不知道特定员工编号的上载文件扩展名的情况下显示目录中的图像名称吗?

2 个答案:

答案 0 :(得分:0)

您可以使用pathinfo()方法获取文件扩展名,如下所示,

$filename = "12345";

$files = glob("F:\FilePath\\$filename.*");

if (count($files) > 0)
foreach ($files as $file)
 {
    $info = pathinfo($file);
    echo $filename.".".$info["extension"];
 }

答案 1 :(得分:0)

尝试一下

 $directory = 'your folder path';
 $files = File::allFiles($directory);
 foreach ($files as $file) {
    $name= explode('/', $file);
    $full_file_name = end($name);
    $ext= explode('.', $full_file_name)[1];
}