Skip to content

PRO TIP Block youtube.com at the DNS level — Pi-hole, NextDNS or your hosts file — but allow youtube-nocookie.com and i.ytimg.com. These tutorials keep playing; the rabbit hole does not.

Learning without distractions

Upload Transaction Receipts With Proper File Validation – Build Expense Tracker App With PHP 8

5.7K views on YouTube

In this video we implement the receipt file upload functionality. We use Flysystem package to handle file uploads to different storage systems & also implement the proper file validation to add layer of security to our application.

SOME OF THE WAYS YOU CAN SUPPORT THE CHANNEL
👍 Smash the like button
🤝 Subscribe to the channel & turn the notifications on
💬 Post comments, any feedback is greatly appreciated
⭐ Become a Patreon: https://www.patreon.com/programwithgio
THANK YOU!

🛠️ TOOLS & SERVICES I USE
Digital Ocean Hosting – Get 100$ credit – https://m.do.co/c/38b935ad74e5
Domains on Namecheap – https://namecheap.pxf.io/rnRjdQ
Envato Elements – https://1.envato.market/c/2937311/298927/4662

LESSON P.20
Starting Source Code – https://github.com/ggelashvili/expennies/tree/P20_Start
Ending Source Code – https://github.com/ggelashvili/expennies/tree/P20_End
Course Outline – https://github.com/ggelashvili/learnphptherightway-outline
Course Playlist – https://www.youtube.com/playlist?list=PLr3d3QYzkw2xabQRUpcZ_IBk9W50M9pe-

RESOURCES
Flysystem – https://flysystem.thephpleague.com/docs
OWASP Cheatsheet – https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html

TABLE OF CONTENTS
00:00 – Intro
00:30 – Install & Use Flysystem
05:03 – UI Changes Overview
08:35 – Upload File
10:16 – File Validation
27:29 – Mime Type Validation Using Flysystem
30:25 – Create Receipt Entity Record
33:10 – Generate & Store Unique Filenames
40:04 – Outro

** Affiliate Disclaimer: Some of the above links may be affiliate links, which may generate me a sales commission at no additional cost to you.