Nahrávání několika obrázků najednou pomocí jednoho formuláře
Často se stává, že chcete nahrát několik obrázků najednou pomocí jednoho inputu. Nahrávat více obrázků najednou lze několika způsoby.
- Mít několik inputů, každý pro jeden obrázek,
- použít staženou třídu nebo plugin, který má většinou složitou dokumentaci a stovky nastavení, protože se snaží řešit dalších tisíc věcí navíc,
- zkusit moji jednoduchou PHP třídu :)
- Určitě tady budou další cesty, ale to by pro ilustraci určitě stačilo.
Dnes vám ukáži, jak lze jednoduše použít moji PHP třídu k tomu, abyste si již nikdy nemuseli trhat vlasy když nahráváte více souborů/obrázků pomocí jednoho formuláře. Nejprve si vytvoříme naprosto jednoduchý formulář.
Zde je důležité si povšimnout, že input pro nahrávání souborů má na konci atribut enctype
, který obsahuje multipart/form-data
a v podstatě tím formuláři říkáme, že budeme posílat něco většího (soubory). Dále také jeho atribut name
má hodnotu files[]
, čímž dáváme najevo, že odeslaná data budou pole s názvem files
. Formulář směřuje do souboru test.php
, který má (nebo může mít, záleží na vás) následující kód.
No není to naprosto jednoduché? A to je vše. V případě dotazů se podívejte do dokumentace (je velmi krátká) nebo zanechte komentář. Ať se daří při kódování.
Upload.php třída
Abych nezapomněl, tak zde je odkaz ke stažení Upload.php třídy.