Filesystem

If you want to move files in your system, or to different providers like AWS S3 and Dropbox. By default, Laravel Zero ships with the Filesystem component of Laravel.

Note: By default the root directory is your-app-name/storage.

Writing files after you build your application is different, check Writing files in production

Using the Storage facade

use Illuminate\Support\Facades\Storage;

Storage::put("reminders.txt", "Task 1");

Using the File facade

use Illuminate\Support\Facades\File;

File::put("/path/to/file/reminders.txt", "Task 1");

Writing files in production

When using the filesystem be aware that when you build the application with app:build you create a .phar file. You can not add, update or delete files inside the .phar file.

We are currently looking into streamlining the filesystem access. The code below is an example of how you can currently write files from the built application to the current working directory.

With the Storage facade

If you want to use the Storage facade you will need to use a config file, similar to how Laravel does it.

  • Create a file filesystems.php in your config/ directory.
  • Copy and paste the following contents. This code will replace the default your-app-name/storage/app folder with the current working directory.
<?php

return [
    'default' => 'local',
    'disks' => [
        'local' => [
            'driver' => 'local',
            'root' => getcwd(),
        ],
    ],
];
  • Use the Storage facade like you would before.

With the File facade

Using the File facade is just the same as normal

File::put(getcwd() . "/reminders.txt", "Task 1");