我使用Input::file('upfile')->getClientOriginalName()
检索已上传文件的名称,但提供的名称扩展名为qwe.jpg
。如何在laravel中获取没有qwe
等扩展名的名称。
答案 0 :(得分:50)
Laravel使用将由FROM mydebian
方法返回的Symfony UploadedFile
组件。
它没有任何方法来检索文件名,因此你可以使用php native function Input::file()
:
pathinfo()
答案 1 :(得分:18)
你可以试试这个
$file = Input::file('upfile')->getClientOriginalName();
$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);
echo $filename . ' ' . $extension; // 'qwe jpg'
答案 2 :(得分:11)
在Laravel 5.2中
使用请求及其已存在于别名数组
中的应用文件中检索原始文件名
$request->file('upfile')->getClientOriginalName();
获取不带扩展名的文件名
basename($request->file('upfile')->getClientOriginalName(), '.'.$request->file('upfile')->getClientOriginalExtension());
答案 3 :(得分:3)
这个很干净:
$fileName = pathinfo($fullFileName)['filename'];
答案 4 :(得分:3)
使用getClientOriginalName()获取文件名;然后使用explode函数获取名称和图像格式,如下所示:
$image=Input::file('image');
$fullName=$image->getClientOriginalName();
$name=explode('.',$fullName)[0];
答案 5 :(得分:3)
在这里您需要调用php PATHINFO_FILENAME
$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
答案 6 :(得分:2)
我使用此代码并在我的Laravel 5.2中工作。*
$file=$request->file('imagefile');
$imgrealpath= $file->getRealPath();
$nameonly=preg_replace('/\..+$/', '', $file->getClientOriginalName());
$fullname=$nameonly.'.'.$file->getClientOriginalExtension();
答案 7 :(得分:2)
Laravel 7中引入了Fluent Strings,可以用一种非常优雅的方式做到这一点。
basename
方法将返回给定字符串的结尾名称部分:
use Illuminate\Support\Str;
$string = Str::of('/foo/bar/baz.jpg')->basename();
// 'baz.jpg'
如果需要,您可以提供一个“扩展名”,该扩展名将从尾随组件中删除:
use Illuminate\Support\Str;
$string = Str::of('/foo/bar/baz.jpg')->basename('.jpg');
// 'baz'
答案 8 :(得分:1)
self.tableView.backgroundColor = [UIColor redColor];
self.tableView.backgroundColor = [UIColor colorWithRed:200.0/255.0 green:200.0/255.0 blue:200.0/255.0 alpha:1.0];
或
preg_replace('/\..+$/', '', 'qwe.jpg')
答案 9 :(得分:1)
试试这个:
$fullName = Input::file('image')->getClientOrginalName();
$extension = Input::file('image')->getClientOrginalExtension();
$onlyName = explode('.'.$extension,$fullName);
或者这个:
$fullName = Input::file('image')->getClientOrginalName();
$extension = Input::file('image')->getClientOrginalExtension();
$fullNameLenght = strlen($fullName);
$extensionLenght = strlen($extension);
$nameLength = $fullNameLenght - ($extensionLength + 1);
$onlyName = strpos($fullName, 0, $nameLength);
答案 10 :(得分:1)
您也可以使用此代码。
if ($request->hasfile('filename')) {
$image = $request->filename;
$namewithextension = $image->getClientOriginalName(); //Name with extension 'filename.jpg'
$name = explode('.', $namewithextension)[0]; // Filename 'filename'
$extension = $image->getClientOriginalExtension(); //Extension 'jpg'
$uploadname = time() . '.' . $extension;
$image->move(public_path() . '/uploads/', $uploadname);
}
答案 11 :(得分:0)
您可以使用此
Input::file('upfile')->getClientOriginalExtension()
答案 12 :(得分:0)
在Laravel 5.4或Lumen 5.4上,这可能是有用的资源here。