Bonjour,

J'ai fais un petit système d'upload de fichiers. Il fonctionne et j'arrive à lister les fichiers uploadés.
Mais je ne sais pas comment obtenir l'url des fichiers (pour les télécharger), ou la taille, le nom...


La fonction d'upload :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
  public function uploadFilePost(Request $request){
      $request->validate([
          'fileToUpload' => 'required|file|max:50|mimes:jpeg,pdf,txt,odt,png',
      ]);
 
      $fileName = "fileName".time().'.'.request()->fileToUpload->getClientOriginalExtension();
      $request->fileToUpload->storeAs('uploads',$fileName);
 
      return back()
          ->with('success','Fichier envoyé.');
}

La fonction qui affiche la page et où j'essaye d'afficher les infos :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
  public function uploadFile(Request $request){
 
    $url = Storage::url('fileToUpload');
    $path = Storage::disk('public')->path('files');
 
    $files_with_size = array();
    $files = Storage::files('uploads');
    foreach ($files as $key => $file) {
      $files_with_size[$key]['name'] = $file;
    }
 
    return view('uploadfile', [
        'files' => $files,
        'url' => $url,
        'path' => $path
      ]);
    }
Ces 2 fonctions sont dans le même controller.

Et la route dans web.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
/* file upload */
Route::get('uploadfile', 'Controller@uploadfile')->name('uploadfile');
Route::post('uploadfile','Controller@uploadFilePost')->name('post.uploadfile');
Je ne comprends pas trop comment obtenir les infos sur les fichiers, stockés en local sur le serveur.
Quelqu'un pour m'aider à comprendre svp ?
Merci d'avance ;-)

ANDRE Ani