2017-07-24 6 views
1

Wie kann ich einen Ordner mit einer Controller-Funktion erstellen?Wie erstelle ich Ordner mit einer Controller-Funktion auf Laravel

(Routen und alle sind gut, aber nicht wissen, wie Sie den Ordner machen)

ich ein einfaches Formular zum Beispiel haben:

<form method="POST" action="{{ route('admin.projects.store') }}" enctype="multipart/form-data"> 
     <div class="form-group"> 
     <label name="title">Slug:</label> 
     <input type="text" id="slug" name="slug" placeholder="ejemplo-de-slug" class="form-control form-control-sm"> 
     </div> 
</form> 

Strecke in web.php:

Route::post('projects/postUpload', ['uses' => '[email protected]', 'as' => 'admin.projects.store']); 

Ich möchte in den Ordner den gleichen Namen des Slug setzen.

public function storeProject() 
    { 
     return ; 
    } 

Wissen, wie es geht?

+0

mit mkdir (Pfad, Modus, rekursiv, Kontext) Funktion – sunilwananje

Antwort

1

Die beste Vorgehensweise ist Storage zu verwenden:

Storage::makeDirectory($directory); 

Es wird einen neuen Ordner auf angegebene Datenträger (lokalen Speicher, AWS usw.) erstellen.

Wenn Sie einen neuen Ordner auf der lokalen Festplatte erstellen möchten, können Sie File Fassade verwenden:

File::makeDirectory('/path/to/directory', 0775); 
+0

Jetzt werde ich es versuchen. Wenn es nicht funktioniert, werde ich diesen Kommentar bearbeiten, wenn funktioniert, bearbeite ich die Frage. –

+0

Ich muss setzen: Datei :: makeDirectory ('/ assets/img/projects/hola', 0775, wahr); und ich bekomme den Fehler: mkdir() Berechtigung verweigert. Ich benutze nginx –

+0

@ LluísPuigFerrer es ist nicht im Zusammenhang mit Laravel. Sie können den Befehl 'chmod' verwenden, um Berechtigungen zu korrigieren, aber tun Sie das nicht, es ist eine schreckliche Idee. Verwenden Sie das 'storage'-Verzeichnis, um hochgeladene Dateien zu speichern. Oder nutzen Sie Dienste wie AWS. Verwenden Sie jedoch nicht das Verzeichnis "Assets". Wenn Sie Zugriff auf hochgeladene Dateien haben möchten, müssen Sie einen symbolischen Link erstellen. Lesen Sie dies: https://laravel.com/docs/5.4/filesystem#the-public-disk –

Verwandte Themen