webentwicklung-frage-antwort-db.com.de

Wo werden Dateien gespeichert? Laravel 5 Ordnerstruktur?

Ich habe mein Laravel -Projekt, das nach einigen Berechnungen Dateien (txt oder csv) speichert.

Ich bin auf der Suche nach einer bewährten Methode, wo diese Dateien gespeichert werden sollen ... /. Vielleicht/resources/csv/...?

Zweite Frage, wie wäre es der beste Weg, um diesen Pfad aus Klassen heraus zu referenzieren? Gibt es eine Laravel-Methode, die den Pfad zu Ressourcen zurückgibt?

9
koalaok

/ resources ist nicht der beste Ort, da dieser Ordner für Quelldateien verwendet wird und normalerweise im Quellcode-Repository (z. B. git) gespeichert wird. 

Dateien, die von der Anwendung generiert werden, befinden sich normalerweise im Ordner/storage. Erstellen Sie dort einfach einen Ordner / storage/csv.

Sie sollten diese Dateien niemals direkt aus Ihren Klassen referenzieren. Das Dateisystem von Laravel ist das, was Sie brauchen - mehr darüber können Sie hier lesen: http://laravel.com/docs/master/filesystem . Sie machen Operationen an den Dateien (wie Lesen, Schreiben, Voranstellen, Anhängen, Löschen, Verschieben, Abrufen aller Dateien und vieles mehr ...).

Beginnen Sie mit der Definition eines Dateisystems in Ihrer config/filesystems.php.

'disks' => [
  'csv' => [
    'driver' => 'local',
    'root'   => storage_path().'/csv',
  ],
],

Jetzt können Sie Ihre CSV-Dateien über Storage facade von überall in Ihrem Code lesen/schreiben:

Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
22
jedrzej.kurylo

Sie können Dateien im Speicherordner speichern. 

Zum Beispiel: 

Sie können einen Ordner namens csv im Speicherordner erstellen und den Pfad wie folgt abrufen:

storage_path().'/csv';

Sie finden den Speicherordner in

Laravel 4.2: App> Speicher
Laravel 5+: im Stammverzeichnis

4
Hasan Tareque
public function storePhotos($data, Request $request, $requirement)
{
    //setlocale(LC_ALL, 'en_US.UTF-8'); //for spanish names
    $fileUploaded = $request->file('someVarFormName');
    $folder = 'docs/';

    $destinationFolder = date("Y-m");
    $destinationFolderInServer = $folder.$destinationFolder;//.'/';
    //$rules = array('file' => 'required|mimes:png,gif,jpeg,txt,pdf,doc,docx,exel,exelx'); //'required|mimes:png,gif,jpeg,txt,pdf,doc'
    $validator = Validator::make(array('file' => $fileUploaded), $rules);

    if($validator->passes())
    {
        $originalFileName = $fileUploaded->getClientOriginalName();
        $fileName = pathinfo($originalFileName, PATHINFO_FILENAME);
        $fileExtension = strtolower(pathinfo($originalFileName, PATHINFO_EXTENSION));

        $linkFilenameTemp = strtolower(ToolText::createLink($fileName));

        $linkFilename = $linkFilenameTemp.'.'.$fileExtension;

        //get versioin number if filename exist
        $i = 1;
        while(file_exists($destinationFolderInServer.'/'.$linkFilename))
        {
            $linkFilename = $linkFilenameTemp.'('.$i.').'.$fileExtension;
            $i++;
        }


        //* quitar / si falla
        $upload_success = $fileUploaded->move($destinationFolderInServer, $linkFilename);
        $dbRegOfFile = NULL;

        if($requirement->have_file)
            $dbRegOfFile = new mdl_TramitesRequisitosFiles();
        else
            $dbRegOfFile = mdl_TramitesRequisitosFiles::where('requisito_id', $requirement->id)
            ->get();

        $dbRegOfFile->requisito_id = $data['requirementId'];
        $dbRegOfFile->publisher = $data['publisher'];
        $dbRegOfFile->publisher_entity = $data['publisher_entity'];
        $dbRegOfFile->Nice_name = $fileName;
        $dbRegOfFile->link_file_name = $linkFilename;
        $dbRegOfFile->extension = $fileName;
        $dbRegOfFile->size = $fileUploaded->getClientSize();
        $dbRegOfFile->save();

    }
0
Rubén Ruíz