What is the purpose of the 'public' disk in Laravel?
The 'public' disk in Laravel is used to store files that should be publicly accessible, like images or documents, typically stored in the storage/app/public directory and linked to public/storage.
Click to reveal answer
beginner
What command creates a symbolic link from public/storage to storage/app/public in Laravel?
The command php artisan storage:link creates a symbolic link so that files stored in storage/app/public are accessible from the web via public/storage.
Click to reveal answer
intermediate
Why do we use symbolic links for the public disk in Laravel?
Symbolic links let Laravel serve files stored outside the public folder securely by linking them inside the public directory, making them accessible via URLs without exposing the whole storage folder.
Click to reveal answer
beginner
Where are files stored when using the 'public' disk in Laravel by default?
Files are stored in the storage/app/public directory by default when using the 'public' disk in Laravel.
Click to reveal answer
beginner
What happens if you don't run php artisan storage:link after storing files on the public disk?
If you don't run php artisan storage:link, files in storage/app/public won't be accessible from the web because the symbolic link public/storage won't exist.
Click to reveal answer
What does the php artisan storage:link command do in Laravel?
ACreates a symbolic link from <code>public/storage</code> to <code>storage/app/public</code>
BDeletes all files in the public disk
CCopies files from <code>storage/app/public</code> to <code>public/storage</code>
DCreates a backup of the storage folder
✗ Incorrect
The command creates a symbolic link so files in storage/app/public are accessible via public/storage.
Where are files stored when using Laravel's 'public' disk by default?
A<code>storage/app/public</code>
B<code>public/storage</code>
C<code>resources/public</code>
D<code>storage/public</code>
✗ Incorrect
Files are stored in storage/app/public and accessed via the symbolic link.
Why is a symbolic link used for the public disk in Laravel?
ATo encrypt files in storage
BTo copy files automatically
CTo make files accessible via the web without exposing the entire storage folder
DTo delete old files
✗ Incorrect
Symbolic links provide secure access to files by linking only the public folder.
What happens if you try to access files stored on the public disk without creating the symbolic link?
AFiles will be deleted automatically
BFiles won't be accessible via the web
CFiles will be copied to the public folder
DFiles will be accessible without any issue
✗ Incorrect
Without the symbolic link, the web server cannot access files stored outside the public directory.
Which Laravel filesystem disk is typically linked to public/storage?
As3
Blocal
Cftp
Dpublic
✗ Incorrect
The 'public' disk is linked to public/storage via a symbolic link.
Explain how Laravel uses the public disk and symbolic links to serve files publicly.
Think about where files are stored and how they become accessible via the web.
You got /4 concepts.
Describe what would happen if the symbolic link for the public disk is missing and how to fix it.
Consider the role of the symbolic link in file accessibility.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of the public disk in Laravel's filesystem?
easy
A. To store files that should be accessible publicly via the web
B. To store configuration files for the application
C. To keep temporary cache files hidden from users
D. To store database backups securely
Solution
Step 1: Understand the role of the public disk
The public disk is designed to hold files that need to be accessed by users through the web, such as images or documents.
Step 2: Compare with other storage uses
Other disks like local or private are for internal use, not for public access.
Final Answer:
To store files that should be accessible publicly via the web -> Option A
Quick Check:
Public disk = public files [OK]
Hint: Public disk means web-accessible files [OK]
Common Mistakes:
Confusing public disk with private storage
Thinking public disk stores config or cache files
Assuming public disk is for backups
2. Which Artisan command creates a symbolic link from public/storage to storage/app/public?
easy
A. php artisan storage:create-link
B. php artisan make:link
C. php artisan link:storage
D. php artisan storage:link
Solution
Step 1: Recall the correct Artisan command
Laravel uses php artisan storage:link to create the symbolic link for public storage access.
Step 2: Verify other options
Other commands listed are not valid Laravel Artisan commands for this purpose.
Final Answer:
php artisan storage:link -> Option D
Quick Check:
Storage link command = storage:link [OK]
Hint: Use 'storage:link' to create public storage link [OK]
Common Mistakes:
Using incorrect Artisan command names
Confusing 'make' or 'create' with 'storage:link'
Trying to create symbolic links manually without Artisan
3. Given the following code snippet, what will Storage::disk('public')->url('file.txt') return if the symbolic link is correctly created?
use Illuminate\Support\Facades\Storage;
$url = Storage::disk('public')->url('file.txt');
echo $url;
medium
A. storage/app/file.txt
B. http://your-app-url/storage/file.txt
C. /public/storage/file.txt
D. /storage/app/public/file.txt
Solution
Step 1: Understand Storage::url() behavior on public disk
When the symbolic link is created, Storage::url() returns a URL starting with '/storage/' pointing to the public folder.
Step 2: Confirm the full URL format
The method returns a full URL including the app's base URL, so it looks like 'http://your-app-url/storage/file.txt'.
Final Answer:
http://your-app-url/storage/file.txt -> Option B
Quick Check:
Storage::url() returns public URL [OK]
Hint: Storage::url() returns full public URL [OK]
Common Mistakes:
Expecting a file system path instead of URL
Confusing storage path with public URL
Missing the base URL in the returned string
4. You ran php artisan storage:link but your files in storage/app/public are not accessible via the browser. What is the most likely cause?
medium
A. You forgot to clear the application cache
B. The files are not readable by the web server
C. The symbolic link was not created or points to the wrong folder
D. The public disk is not configured in config/filesystems.php
Solution
Step 1: Check the symbolic link existence and target
If the symbolic link is missing or points incorrectly, files won't be accessible via public/storage.
Step 2: Consider other causes but focus on link
While file permissions matter, the most common cause after running the command is a failed or incorrect link creation.
Final Answer:
The symbolic link was not created or points to the wrong folder -> Option C
Quick Check:
Broken or missing link = no public access [OK]
Hint: Check symbolic link path if files not accessible [OK]
Common Mistakes:
Assuming cache clearing fixes symbolic link issues
Ignoring file permissions as a cause
Not verifying the link target folder
5. You want to serve user-uploaded images stored in storage/app/public/images via the web. Which steps correctly set this up in Laravel?
hard
A. Run php artisan storage:link and access images via /storage/images/filename.jpg
B. Move images to public/images and access directly without symbolic links
C. Configure a new disk in config/filesystems.php pointing to public/images and use Storage::url()
D. Create a route to read files from storage/app/public/images and return them manually
Solution
Step 1: Create symbolic link for public storage
Running php artisan storage:link creates a link from public/storage to storage/app/public, making files accessible.
Step 2: Access images via the public URL path
Files inside storage/app/public/images are then accessible at /storage/images/filename.jpg.
Final Answer:
Run php artisan storage:link and access images via /storage/images/filename.jpg -> Option A
Quick Check:
Symbolic link + /storage/ URL = public access [OK]
Hint: Use storage:link and /storage/ URL for public files [OK]
Common Mistakes:
Moving files manually instead of linking
Not using the symbolic link and expecting direct access
Overcomplicating with custom routes unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.