Я использовал Input::file('upfile')->getClientOriginalName()
для получения имени загруженного файла, но дает имя с расширением, например qwe.jpg
. Как получить имя без расширения, например qwe
в laravel.
Получить имя файла без расширения в laravel?
Ответ 1
Laravel использует компонент Symfony UploadedFile
, который будет возвращен методом Input::file()
.
У него нет способа получить имя файла, поэтому вы можете использовать собственную функцию php pathinfo()
:
pathinfo(Input::file('upfile')->getClientOriginalName(), PATHINFO_FILENAME);
Ответ 2
Вы можете попробовать это
$file = Input::file('upfile')->getClientOriginalName();
$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);
echo $filename . ' ' . $extension; // 'qwe jpg'
Ответ 3
В Laravel 5.2
Использовать запрос и он уже присутствует в файле приложения в массиве псевдонимов
Получить исходное имя файла
$request->file('upfile')->getClientOriginalName();
Чтобы получить имя файла без расширения
basename($request->file('upfile')->getClientOriginalName(), '.'.$request->file('upfile')->getClientOriginalExtension());
Ответ 4
Этот довольно чистый:
$fileName = pathinfo($fullFileName)['filename'];
Ответ 5
Получить имя файла с помощью getClientOriginalName(); затем используйте функцию разрыва, чтобы получить имя и формат изображения, как показано ниже:
$image=Input::file('image');
$fullName=$image->getClientOriginalName();
$name=explode('.',$fullName)[0];
Ответ 6
здесь нужно позвонить php PATHINFO_FILENAME
$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
Ответ 7
Я использую этот код и работаю в своем Laravel 5.2. *
$file=$request->file('imagefile');
$imgrealpath= $file->getRealPath();
$nameonly=preg_replace('/\..+$/', '', $file->getClientOriginalName());
$fullname=$nameonly.'.'.$file->getClientOriginalExtension();
Ответ 8
preg_replace('/\..+$/', '', 'qwe.jpg')
или
explode('.', 'qwe.jpg')[0]
Ответ 9
Попробуйте следующее:
$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
Вы можете использовать этот код тоже.
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
Вы можете использовать это
Input::file('upfile')->getClientOriginalExtension()
Ответ 12
На Laravel 5.4 или Lumen 5.4 это может быть полезным ресурсом здесь.