web-dev-qa-db-fra.com

obtenir un nom de fichier sans extension dans laravel?

J'ai utilisé Input::file('upfile')->getClientOriginalName() pour récupérer le nom du fichier téléchargé mais donne un nom avec une extension telle que qwe.jpg.Comment puis-je obtenir un nom sans extension telle que qwe dans laravel.

15
Sumit

Laravel utilise Symfony UploadedFile composant qui sera renvoyé par la méthode Input::file()

Il n'a pas de méthode pour récupérer le nom de fichier, vous pouvez donc utiliser la fonction native php pathinfo():

pathinfo(Input::file('upfile')->getClientOriginalName(), PATHINFO_FILENAME);
42
Maxim Lanin

Tu pourrais essayer ça

$file = Input::file('upfile')->getClientOriginalName();

$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);

echo $filename . ' ' . $extension; // 'qwe jpg'
14
Pantelis Peslis

Dans Laravel 5.2

Utilisez Request et il est déjà présent dans le fichier d'application dans le tableau d'alias.

Pour récupérer le nom de fichier d'origine

$request->file('upfile')->getClientOriginalName();

Pour obtenir un nom de fichier sans extension

basename($request->file('upfile')->getClientOriginalName(), '.'.$request->file('upfile')->getClientOriginalExtension());
11
Sethu

Celui-ci est assez propre:

$ fileName = pathinfo ($ fullFileName) ['nomfichier'];

3
Yevgeniy Afanasyev

Obtenez le nom du fichier en utilisant getClientOriginalName (); Utilisez ensuite la fonction Eclater pour obtenir le nom et le format d’image comme indiqué ci-dessous:

$image=Input::file('image'); $fullName=$image->getClientOriginalName(); $name=explode('.',$fullName)[0];

3
TechPotter

ici vous devez appeler php PATHINFO_FILENAME

$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
2
Muhammad Kazim

J'utilise ce code et travaille dans mon Laravel 5.2. *

$file=$request->file('imagefile');
$imgrealpath= $file->getRealPath(); 
$nameonly=preg_replace('/\..+$/', '', $file->getClientOriginalName());
$fullname=$nameonly.'.'.$file->getClientOriginalExtension();
2
I Made Pustikayasa

Essaye ça:

    $fullName = Input::file('image')->getClientOrginalName();
    $extension = Input::file('image')->getClientOrginalExtension();
    $onlyName = explode('.'.$extension,$fullName);

Ou ca:

    $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);
1
smartrahat
preg_replace('/\..+$/', '', 'qwe.jpg')

ou

explode('.', 'qwe.jpg')[0]
1
silent

tu peux utiliser ça

Input::file('upfile')->getClientOriginalExtension()
0
mehfooz

Sur Laravel 5.4 ou Lumen 5.4, cela peut être une ressource utile ici .

0
rcadhikari

Vous pouvez aussi utiliser ce code.

    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);
    }
0
Mete YILMAZ