从 Laravel 中上传的文件中获取图像扩展名
Get an image extension from an uploaded file in Laravel
我一直在尝试从上传的文件中获取扩展名,在 google 上搜索,我没有得到任何结果。
文件已存在于路径中:
\Storage::get('/uploads/categories/featured_image.jpg);
现在,如何获取上面这个文件的扩展名?
使用输入字段我可以获得这样的扩展名:
Input::file('thumb')->getClientOriginalExtension();
谢谢。
Laravel方式
试试这个:
$foo = \File::extension($filename);
您可以使用 PHP 中内置的 pathinfo() 函数:
$info = pathinfo(storage_path().'/uploads/categories/featured_image.jpg');
$ext = $info['extension'];
或者更简洁一点,可以传一个选项get,直接获取;
$ext = pathinfo(storage_path().'/uploads/categories/featured_image.jpg', PATHINFO_EXTENSION);
如果你只是想要扩展,你可以使用 pathinfo
:
$ext = pathinfo($file_path, PATHINFO_EXTENSION);
另一种方法:
//Where $file is an instance of Illuminate\Http\UploadFile
$extension = $file->getClientOriginalExtension();
//working code from laravel 5.2
public function store(Request $request)
{
$file = $request->file('file');
if($file)
{
$extension = $file->clientExtension();
}
echo $extension;
}
测试于 laravel 5.5
$extension = $request->file('file')->extension();
或者可以使用Extension SplitterTrickster::getExtention()
https://github.com/secrethash/trickster
的功能
Trickster::getExtention('some-funny.image.jpg');
它returnsjpg
return $picName = time().'.'.$request->file->extension();
time()
函数将使图像独一无二,然后 .$request->file->extension()
为您获取图像扩展名。
您可以使用它,它适用于 Laravel 6 及更高版本。
做这样的事情:
if($request->hasFile('video')){
$video=$request->file('video');
$filename=str_random(20).".".$video->extension();
$path = Storage::putFileAs(
'/', $video, $filename
);
$data['video']=$filename;
}
我一直在尝试从上传的文件中获取扩展名,在 google 上搜索,我没有得到任何结果。
文件已存在于路径中:
\Storage::get('/uploads/categories/featured_image.jpg);
现在,如何获取上面这个文件的扩展名?
使用输入字段我可以获得这样的扩展名:
Input::file('thumb')->getClientOriginalExtension();
谢谢。
Laravel方式
试试这个:
$foo = \File::extension($filename);
您可以使用 PHP 中内置的 pathinfo() 函数:
$info = pathinfo(storage_path().'/uploads/categories/featured_image.jpg');
$ext = $info['extension'];
或者更简洁一点,可以传一个选项get,直接获取;
$ext = pathinfo(storage_path().'/uploads/categories/featured_image.jpg', PATHINFO_EXTENSION);
如果你只是想要扩展,你可以使用 pathinfo
:
$ext = pathinfo($file_path, PATHINFO_EXTENSION);
另一种方法:
//Where $file is an instance of Illuminate\Http\UploadFile
$extension = $file->getClientOriginalExtension();
//working code from laravel 5.2
public function store(Request $request)
{
$file = $request->file('file');
if($file)
{
$extension = $file->clientExtension();
}
echo $extension;
}
测试于 laravel 5.5
$extension = $request->file('file')->extension();
或者可以使用Extension SplitterTrickster::getExtention()
https://github.com/secrethash/trickster
Trickster::getExtention('some-funny.image.jpg');
它returnsjpg
return $picName = time().'.'.$request->file->extension();
time()
函数将使图像独一无二,然后 .$request->file->extension()
为您获取图像扩展名。
您可以使用它,它适用于 Laravel 6 及更高版本。
做这样的事情:
if($request->hasFile('video')){
$video=$request->file('video');
$filename=str_random(20).".".$video->extension();
$path = Storage::putFileAs(
'/', $video, $filename
);
$data['video']=$filename;
}