2016-10-04 3 views
1

In Laravel 5.3 ich das Hochladen von Dateien wie folgen aus:Laravel Dateiname Datenbank

public function upload(Request $request, User $user, $directory) 
{ 
    if($request->hasFile('attachment')) 
    { 
     $attachments = $request->file('attachment'); 
     foreach ($attachments as $attachment) { 
      $fileName = $attachment->store('users/' . $user->id . '/' . $directory); 
      $file = new File; 
      $file->path = $fileName; 
      $file->user_id = $user->id; 
      $this->files()->save($file); 
     } 
    } 
} 

So wie diesen es wird gespeichert:

enter image description here

Wie speichere ich einen zufälligen Namen (Pfad) statt eines ganzen Weges?

(Random eindeutige Namen so etwas wie: 7b11ae012907b5811cb6985d39e16052)

+0

Sie einige zufällige Funktion benötigen zufällige Namen und Ruf zu erzeugen, diese Funktion anstelle von $ directory "$ fileName = $ attachment-> store ('Benutzer /'. $ user-> id. '/'. $ directory);" – rahul

Antwort

1
public function upload(Request $request, User $user, $directory) 
{ 
if($request->hasFile('attachment')) 
{ 
    $random_name=rand(5, 15); 
    $attachments = $request->file('attachment'); 
    foreach ($attachments as $attachment) { 
     $fileName = $attachment->store('users/' . $user->id . '/' . $random_name); 
     $file = new File; 
     $file->path = $fileName; 
     $file->user_id = $user->id; 
     $this->files()->save($file); 
    } 
} 

}

+0

Jetzt macht es einen zusätzlichen Ordner. – Jamie

0

ich es so gemacht habe:

public function upload(Request $request, User $user, $directory) 
{ 
    if($request->hasFile('attachment')) 
    { 
     $attachments = $request->file('attachment'); 
     foreach ($attachments as $attachment) { 
      $random = str_random(30); 
      $filename = $random . $attachment->getClientOriginalName(); 
      $attachment->storeAs('users/' . $user->id . '/' . $directory, $filename); 
      $file = new File; 
      $file->path = $filename; 
      $file->user_id = $user->id; 
      $this->files()->save($file); 
     } 
    } 
} 
+0

ist es dein Problem zu lösen? –

+0

Ja danke es ist! – Jamie