在laravel中获取没有扩展名的文件名?

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)


Muh*_*zim 9

在这里你需要调用 php PATHINFO_FILENAME

$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
Run Code Online (Sandbox Code Playgroud)


Yev*_*yev 6

这很干净:

  $fileName = pathinfo($fullFileName)['filename'];
Run Code Online (Sandbox Code Playgroud)


MrE*_*uar 5

在 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)