Laravel Unmöglich zu Erstellen Root-Verzeichnis

Ich habe aus den anderen Beiträgen über diese, scheint mir einzigartig zu sein aus irgendeinem Grund

Im wesentlichen das, was ich versuche zu tun ist, speichern von hochgeladenen Fotos in das öffentliche Verzeichnis für einfachen Zugang, jedoch wenn ich Speichere Sie, ich versuche Sie zu speichern in einen benutzerspezifischen Ordner, so

/public/photos/$User->id/$filename.jpg

Nun habe ich Dropzone hochladen der Datei, und ich habe Hinzugefügt, um meine filesystem.php diese Aussage

'public_uploads' => [
  'driver' => 'local',
  'root'   => public_path(),
],

So, in der Theorie, wenn ich den Zugriff, die Verwendung

Storage::disk('public_uploads') 

abzurufen, den richtigen Pfad

Hier mein controller sowie

$User = User::find(Auth::user()->id);
$Photo = Request::file('photo');
Storage::disk('public_uploads')->put("photos/$User->id", $Photo);

Dann bekomme ich diesen Fehler von Laravel auf hochladen

{message: "Impossible to create the root directory "/censoredfilesystem/public/Photos/1".",…}

Keine Ahnung, wo die Zeit herkommt und jede Hilfe wird sehr geschätzt

Vielen Dank an alle!

  • Zach
  • Hast du Berechtigungen?
  • überprüfen Sie alle Berechtigungen, wenn Sie mit Linux
  • Berechtigungen für was? Ich habe eingestellt, dass die Berechtigungen korrekt für App und Speicher, muss ich andere?
  • Setzen Sie Klammern um die $User->id im Storage::disk('public_uploads')->put("photos/{$User->id}", $Photo);, soweit ich weiß, nur Variablen innerhalb von doppelten Anführungszeichen stehen, aber nicht Objekt-Eigenschaft ruft. Und Sie sollten auch prüfen, dass der Prozess läuft, php (apache oder ngnix) hat die Berechtigungen zum schreiben in den public-Ordner.
  • Versucht, auch zusätzliche Berechtigungen für den öffentlichen Ordner, und weder gearbeitet, ich denke, es ist ein Fehler mit den Ordner-Benennung-format, anstatt die Berechtigungen
  • Vielleicht photos != Photos?

InformationsquelleAutor Zach Handley | 2017-12-28
Schreibe einen Kommentar