Получить имя файла без расширения в laravel?

Я использовал Input::file('upfile')->getClientOriginalName() для получения имени загруженного файла, но дает имя с расширением, например qwe.jpg. Как получить имя без расширения, например qwe в 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 это может быть полезным ресурсом здесь.