educom PHP-basis E-learning

Les 12 — Uploads, directories & images

$_FILES, restricties, unieke namen, directory listings — en veilig nadenken over uploads.

Demo

opdrachten/12/: upload_form*.html + upload_file*.php, unique_filename.php, read_dir1.phpread_dir3.php, image_info.php, create_image.php

Open demo-bron

Klik een bestandsnaam hieronder om de bron op deze pagina te zien (of “Nieuwe tab”). PHP zelf draait bij jou lokaal in XAMPP.

Gewone opdracht

Kern (stapsgewijs)

  1. 12/upload_form.html + 12/upload_file.php — basis upload naar een map upload/.
  2. Voeg restricties toe (grootte, image-type, bestaat-bestandsnaam) zoals in upload_file2/3.
  3. Gebruik unieke filenaam (uniqid + extensie).

Extra / variant

Extra A Directory listing

Maak 12/read_dir2.php: listing van een map (bouw voort op read_dir1.php).

Extra B — Opdracht 30 Thumbnails

12/read_dir3.php: listing van upload-dir met thumbnail, afmeting, mime-type; klik opent image in nieuw venster. Gebruik getimagesize(). Hergebruik read_dir2-idee.

Extra C Security-notitie

In 12/upload-security.md: welke checks heb je gedaan en wat zou je in productie nog meer doen?

Opleveren

  1. git add 12 → commit → push (geen grote binaries verplicht; .gitignore upload-map mag)
  2. Mail: les 12 klaar of hulp + repo-link

Door naar les 13 →