Je veux simplement obtenir le nom d'un fichier que je reçois comme ceci:
$inputPdf = $request->file('input_pdf');
si je dd($inputPdf)
cela m'imprime null
.
Vous pouvez accéder aux fichiers téléchargés qui sont inclus avec l'instance Illuminate\Http\Request à l'aide de la méthode de fichier. L'objet renvoyé par la méthode file est une instance de la classe Symfony\Component\HttpFoundation\File\UploadedFile, qui étend la classe PHP SplFileInfo et fournit une variété de méthodes pour interagir avec le fichier
Il existe une variété d'autres méthodes disponibles sur les instances UploadedFile. Consultez la documentation API pour la classe pour plus d'informations sur ces méthodes.
Vous pouvez donc utiliser cette méthode: getClientOriginalName()
$request->file('input_pdf')->getClientOriginalName();
Renverrait le nom du fichier.
Vous pouvez le faire pour vérifier si le fichier existe avant d'appeler des méthodes dessus:
if ($request->hasFile('input_pdf')) {
return $request->file('input_pdf')->getClientOriginalName();
} else {
return 'no file!'
}
dd($request->file('input_pdf'))
renvoyant null
vérifiez que vous utilisez le nom correct pour le fichier. Vous pouvez essayer dd($request)
et vous verrez s'il y a des fichiers dedans. Vous pouvez vérifier le nom du fichier lors de l'examen du vidage de l'objet Request
.$request->file->getClientOriginalName();
Cochez ceci pour plus de méthodes.
Je pense que tu oublies d'ajouter
enctype="multipart/form-data"
Dans votre formulaire. Ou si vous avez utilisé laravel HTML provider provider use
{!! Form::open(array('files' => true)) !!}