Bird
Raised Fist0
Laravelframework~20 mins

Local disk storage in Laravel - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Local Disk Storage Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What does this Laravel code output when storing a file locally?
Consider this Laravel code snippet that stores an uploaded file locally. What will be the output of echo $path; if the file is successfully stored?
Laravel
<?php
use Illuminate\Http\Request;

Route::post('/upload', function (Request $request) {
    $path = $request->file('photo')->store('images');
    echo $path;
});
AAn error because the 'images' directory does not exist
Bimages/filename.ext (where filename.ext is the original file name)
C/storage/images/filename.ext (full URL path to the file)
Dimages/randomstring.ext (a random generated file name with original extension)
Attempts:
2 left
💡 Hint
Think about how Laravel generates file names when storing files with the store() method.
📝 Syntax
intermediate
2:00remaining
Which option correctly configures the local disk in Laravel's filesystems.php?
You want to configure the local disk to store files in the storage/app/public directory and make them publicly accessible. Which configuration snippet is correct?
A'local' => [ 'driver' => 'local', 'root' => public_path('storage'), 'url' => env('APP_URL').'/storage', 'visibility' => 'private', ]
B'local' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/public', 'visibility' => 'public', ]
C'local' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ]
D'local' => [ 'driver' => 'local', 'root' => storage_path('app'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ]
Attempts:
2 left
💡 Hint
Check the root path and visibility settings for public access.
🔧 Debug
advanced
2:00remaining
Why does this Laravel code fail to retrieve a file from local storage?
Given this code snippet, why does Storage::disk('local')->get('file.txt') throw an exception?
Laravel
<?php
use Illuminate\Support\Facades\Storage;

$content = Storage::disk('local')->get('file.txt');
AThe file 'file.txt' does not exist in storage/app directory
BThe 'local' disk is not defined in config/filesystems.php
CThe get() method requires a full URL, not a relative path
DThe Storage facade is not imported correctly
Attempts:
2 left
💡 Hint
Check if the file path is correct and the file exists in the expected directory.
❓ state_output
advanced
2:00remaining
What is the output of this Laravel code that deletes a file from local storage?
What will be the value of $deleted after running this code if the file exists?
Laravel
<?php
use Illuminate\Support\Facades\Storage;

$deleted = Storage::disk('local')->delete('oldfile.txt');
echo $deleted ? 'Deleted' : 'Not deleted';
AThrows an exception because delete() returns void
BDeleted
CNot deleted
DThrows an exception because the file path is incorrect
Attempts:
2 left
💡 Hint
Check what the delete() method returns when the file exists.
🧠 Conceptual
expert
3:00remaining
Which statement about Laravel's local disk storage is TRUE?
Select the correct statement about how Laravel handles local disk storage.
AThe local disk stores files in the <code>storage/app</code> directory and requires a symbolic link to <code>public/storage</code> for public access
BFiles stored using the local disk are accessible publicly by default without extra configuration
CLaravel automatically creates the <code>storage/app/public</code> directory if it does not exist when storing files
DThe local disk driver encrypts files automatically before saving them to disk
Attempts:
2 left
💡 Hint
Think about how Laravel manages public access to files stored locally.

Practice

(1/5)
1. What does the local disk in Laravel's storage system refer to?
easy
A. A remote FTP server
B. A cloud storage service like AWS S3
C. A temporary cache in memory
D. The server's own hard drive inside storage/app

Solution

  1. Step 1: Understand Laravel's local disk meaning

    The local disk stores files on the server's hard drive, specifically inside the storage/app directory.
  2. Step 2: Compare with other storage options

    Other options like cloud or FTP are not called local. The local disk is always the server's own storage.
  3. Final Answer:

    The server's own hard drive inside storage/app -> Option D
  4. Quick Check:

    Local disk = server hard drive storage [OK]
Hint: Local disk means server's own storage folder [OK]
Common Mistakes:
  • Confusing local disk with cloud storage
  • Thinking local disk is temporary memory
  • Assuming local disk is remote storage
2. Which of the following is the correct syntax to save a file named example.txt with content 'Hello' on the local disk in Laravel?
easy
A. Storage::disk('example.txt')->put('local', 'Hello');
B. Storage::disk('local')->put('example.txt', 'Hello');
C. Storage::put('local', 'example.txt', 'Hello');
D. Storage::local()->put('example.txt', 'Hello');

Solution

  1. Step 1: Identify correct method chaining

    Laravel uses Storage::disk('local')->put(filename, content) to save files on the local disk.
  2. Step 2: Check method and parameter order

    Storage::disk('local')->put('example.txt', 'Hello'); correctly calls disk('local') then put('example.txt', 'Hello'). Others mix parameters or methods incorrectly.
  3. Final Answer:

    Storage::disk('local')->put('example.txt', 'Hello'); -> Option B
  4. Quick Check:

    Use disk('local')->put(filename, content) [OK]
Hint: Use Storage::disk('local')->put(filename, content) [OK]
Common Mistakes:
  • Swapping parameters in put method
  • Calling disk() with filename instead of 'local'
  • Using Storage::local() which does not exist
3. What will be the output of this Laravel code snippet?
Storage::disk('local')->put('note.txt', 'Hi there');
$content = Storage::disk('local')->get('note.txt');
echo $content;
medium
A. Hi there
B. note.txt
C. Storage::disk('local')->put
D. File not found error

Solution

  1. Step 1: Save content to local disk

    The put method writes 'Hi there' into 'note.txt' on the local disk.
  2. Step 2: Retrieve and echo the file content

    The get method reads the content of 'note.txt', which is 'Hi there', then echoes it.
  3. Final Answer:

    Hi there -> Option A
  4. Quick Check:

    Put then get returns saved content [OK]
Hint: put saves file, get reads content back [OK]
Common Mistakes:
  • Expecting filename instead of content output
  • Assuming get returns boolean
  • Forgetting to use disk('local')
4. Identify the error in this Laravel code that tries to delete a file from local disk:
Storage::disk('local')->delete('file.txt');

Assuming file.txt does not exist, what happens?
medium
A. Returns false but no exception is thrown
B. Deletes all files in the local disk
C. Creates an empty file named file.txt
D. Throws an exception and stops execution

Solution

  1. Step 1: Understand delete behavior on missing files

    Laravel's delete method returns false if the file does not exist but does not throw an error.
  2. Step 2: Confirm no side effects

    No file is created or deleted besides the target. Execution continues normally.
  3. Final Answer:

    Returns false but no exception is thrown -> Option A
  4. Quick Check:

    Delete missing file returns false, no error [OK]
Hint: Delete returns false if file missing, no crash [OK]
Common Mistakes:
  • Expecting an exception on missing file
  • Thinking delete creates files
  • Assuming delete removes all files
5. You want to save a user-uploaded image on the local disk with a unique name to avoid overwriting. Which Laravel code snippet correctly achieves this?
hard
A. Storage::disk('local')->put('image.jpg', $imageContent);
B. Storage::disk('local')->putFileAs('', $imageFile, 'image.jpg');
C. Storage::disk('local')->putFile('', $imageFile);
D. Storage::disk('local')->put('image.jpg', $imageFile);

Solution

  1. Step 1: Understand putFile and putFileAs methods

    putFile stores the file with a unique generated name automatically. putFileAs requires you to specify the filename.
  2. Step 2: Check options for unique naming

    Storage::disk('local')->putFile('', $imageFile); uses putFile which auto-generates a unique name, preventing overwrites. The distractors use fixed filenames such as 'image.jpg', which risk overwriting existing files.
  3. Final Answer:

    Storage::disk('local')->putFile('', $imageFile); -> Option C
  4. Quick Check:

    putFile auto-names files uniquely [OK]
Hint: Use putFile to auto-generate unique file names [OK]
Common Mistakes:
  • Using put which overwrites files
  • Manually generating names incorrectly
  • Using putFileAs without unique names
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard