Sum*_*mit 29 laravel laravel-4 laravel-5 laravel-5.1
我已经习惯Input::file('upfile')->getClientOriginalName()检索上传文件的名称,但是给出了带有扩展qwe.jpg名的名称qwe.如何在laravel中获得没有扩展名的名称.
Max*_*nin 59
Laravel使用UploadedFile将由Input::file()方法返回的Symfony 组件.
它没有任何方法来检索文件名,所以你可以使用php native函数pathinfo():
pathinfo(Input::file('upfile')->getClientOriginalName(), PATHINFO_FILENAME);
Run Code Online (Sandbox Code Playgroud)
Pan*_*lis 23
你可以试试这个
$file = Input::file('upfile')->getClientOriginalName();
$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);
echo $filename . ' ' . $extension; // 'qwe jpg'
Run Code Online (Sandbox Code Playgroud)
小智 11
在Laravel 5.2中
使用请求,它已经存在于别名数组的app文件中
检索原始文件名
$request->file('upfile')->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)
获取没有扩展名的文件名
basename($request->file('upfile')->getClientOriginalName(), '.'.$request->file('upfile')->getClientOriginalExtension());
Run Code Online (Sandbox Code Playgroud)
在这里你需要调用 php PATHINFO_FILENAME
$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
Run Code Online (Sandbox Code Playgroud)
在 Laravel 7 中引入了 Fluent Strings,它允许以一种非常优雅的方式做到这一点。
该basename方法将返回给定字符串的尾随名称部分:
use Illuminate\Support\Str;
$string = Str::of('/foo/bar/baz.jpg')->basename();
// 'baz.jpg'
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以提供一个将从尾随组件中删除的“扩展”:
use Illuminate\Support\Str;
$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');
// 'baz'
Run Code Online (Sandbox Code Playgroud)