Ich bin ein Anfänger hier, also entschuldigen Sie mich für diese Frage, mit der ich return File::put($path , $data);
eine Datei in einem öffentlichen Ordner auf Laravel erstelle. Ich habe diesen Code vom Controller verwendet. Ich muss wissen, $path
wie er sein soll.
81
Antworten:
Verwenden
public_path()
Als Referenz:
// Path to the project's root folder echo base_path(); // Path to the 'app' folder echo app_path(); // Path to the 'public' folder echo public_path(); // Path to the 'storage' folder echo storage_path(); // Path to the 'storage/app' folder echo storage_path('app');
quelle
public_path()
eigentlich ziemlich nutzlos ist - es wird nur davon ausgegangen, dass sich alle Ihre öffentlichen Dateien in einem Verzeichnis namens "public" befinden - auch wenn dies nicht der Fall ist. Zum Beispiel muss ich immer das Standardverzeichnis "public" in "public_html" ändern (entsprechend meinem Server). Laravel erkennt das nicht. Verlassen Sie sich also nicht darauf, um intelligent zu bestimmen, was Ihr öffentliches Verzeichnis tatsächlich ist. Ich benutze nur,$_SERVER['DOCUMENT_ROOT'];
wenn jemand vorschlagen kann, warum ich nicht sollte?Sie können base_path () verwenden, um die Basis Ihrer Anwendung abzurufen - und dann einfach Ihren öffentlichen Ordner hinzufügen:
$path = base_path().'/public'; return File::put($path , $data)
Hinweis: Seien Sie sehr vorsichtig, wenn Sie zulassen, dass Benutzer Dateien in Ihr Stammverzeichnis von public_html hochladen. Wenn sie ihre eigene index.php-Datei hochladen, übernehmen sie Ihre Site.
quelle
Ich weiß, dass dies etwas spät ist, aber wenn jemand anderes auf dieses Aussehen stößt, können Sie jetzt public_path () verwenden. In Laravel 4 wurde es der Datei helper.php im Support-Ordner hinzugefügt ( siehe hier) .
quelle
Der beste Weg, um Ihren Pfad für öffentliche Ordner aus Ihrer Laravel-Konfiguration abzurufen, ist die folgende Funktion:
$myPublicFolder = public_path(); $savePath = $mypublicPath."enter_path_to_save"; $path = $savePath."filename.ext"; return File::put($path , $data);
Es müssen nicht alle Variablen vorhanden sein, dies dient jedoch nur zu Demonstrationszwecken.
Hoffe das hilft, GRnGC
quelle