Получить расширение изображения из загруженного файла в Laravel

Я пытаюсь получить расширение из загруженного файла, поиск в google, я не получил никаких результатов.

Файл уже существует в пути:

\Storage::get('/uploads/categories/featured_image.jpg);

Теперь, как я могу получить расширение этого файла выше?

Используя поля ввода, я могу получить расширение следующим образом:

Input::file('thumb')->getClientOriginalExtension();

Спасибо.

Ответ 1

Вы можете использовать функцию pathinfo(), встроенную в PHP, для этого:

$info = pathinfo(storage_path().'/uploads/categories/featured_image.jpg');
$ext = $info['extension'];

Или более кратко, вы можете передать опцию, чтобы получить ее напрямую;

$ext = pathinfo(storage_path().'/uploads/categories/featured_image.jpg', PATHINFO_EXTENSION);

Ответ 2

Способ Laravel

Попробуйте следующее:

$foo = \File::extension($filename);

Ответ 3

Если вы просто хотите расширение, вы можете использовать pathinfo:

$ext = pathinfo($file_path, PATHINFO_EXTENSION);

Ответ 4

Еще один способ сделать это:

//Where $file is an instance of Illuminate\Http\UploadFile
$extension = $file->getClientOriginalExtension();

Ответ 5

 //working code from laravel 5.2

 public function store(Request $request)
 {
          $file = $request->file('file');
            if($file)
            {
                    $extension =  $file->clientExtension();
            }
            echo $extension;
 }

Ответ 6

Протестировано в laravel 5.5

$extension = $request->file('file')->extension();