Ich habe Input::file('upfile')->getClientOriginalName()
verwendet, um den Namen der hochgeladenen Datei abzurufen, gebe jedoch den Namen mit der Erweiterung qwe.jpg
.Wie bekomme ich den Namen ohne Erweiterung wie qwe
in Laravel.
Laravel verwendet die Symfony-Komponente UploadedFile
, die von der Input::file()
-Methode zurückgegeben wird.
Es gibt keine Methode zum Wiederherstellen des Dateinamens. Sie können also die native Funktion von pathinfo()
verwenden:
pathinfo(Input::file('upfile')->getClientOriginalName(), PATHINFO_FILENAME);
Sie könnten es versuchen
$file = Input::file('upfile')->getClientOriginalName();
$filename = pathinfo($file, PATHINFO_FILENAME);
$extension = pathinfo($file, PATHINFO_EXTENSION);
echo $filename . ' ' . $extension; // 'qwe jpg'
In Laravel 5.2
Verwenden Sie Request und es ist bereits in der App-Datei im Alias-Array vorhanden
Um den ursprünglichen Dateinamen abzurufen
$request->file('upfile')->getClientOriginalName();
Dateinamen ohne Erweiterung erhalten
basename($request->file('upfile')->getClientOriginalName(), '.'.$request->file('upfile')->getClientOriginalExtension());
Dieser ist ziemlich sauber:
$ fileName = Pfadinfo ($ fullFileName) ['Dateiname'];
Rufen Sie den Dateinamen mit getClientOriginalName () ab. Verwenden Sie dann die Explosionsfunktion, um den Namen und das Bildformat wie folgt abzurufen:
$image=Input::file('image');
$fullName=$image->getClientOriginalName();
$name=explode('.',$fullName)[0];
hier müssen Sie php PATHINFO_FILENAME aufrufen
$file = $request->file('fileupload')->getClientOriginalName();
$fileName = pathinfo($file,PATHINFO_FILENAME);
dd($fileName);
Ich verwende diesen Code und arbeite in meinem Laravel 5.2. *
$file=$request->file('imagefile');
$imgrealpath= $file->getRealPath();
$nameonly=preg_replace('/\..+$/', '', $file->getClientOriginalName());
$fullname=$nameonly.'.'.$file->getClientOriginalExtension();
Versuche dies:
$fullName = Input::file('image')->getClientOrginalName();
$extension = Input::file('image')->getClientOrginalExtension();
$onlyName = explode('.'.$extension,$fullName);
Oder dieses:
$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);
preg_replace('/\..+$/', '', 'qwe.jpg')
oder
explode('.', 'qwe.jpg')[0]
sie können dies verwenden
Input::file('upfile')->getClientOriginalExtension()
Bei Laravel 5.4 oder Lumen 5.4 kann dies eine nützliche Ressource sein here .
Sie können diesen Code auch verwenden.
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);
}