Получить расширение изображения из загруженного файла в 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();