Uploading více souborů
Více souborů může být uploadování za použití různých názvů
name pro souborové pole input.
Je také možné uploadovat více souborů současně a nechat informace
automaticky zorganizovat v polích. V takovém případě je třeba
použít stejnou syntaxi v HTML formuláři jako pro vícenásobné výběry
a zaškrtávací políčka (checkboxy).
Poznámka:
Podpora pro upload více souborů byla přidána ve verzi 3.0.10.
Příklad 18-3. Uploading více souborů <form action="file-upload.php" method="post" enctype="multipart/form-data">
Send these files:<br>
<input name="userfile[]" type="file"><br>
<input name="userfile[]" type="file"><br>
<input type="submit" value="Send files">
</form> |
|
Pokud je výše uvedený formulář odeslán, pole
$HTTP_POST_FILES['userfile'],
$HTTP_POST_FILES['userfile']['name'], a
$HTTP_POST_FILES['userfile']['size'] budou
inicializována (jak $_FILES v PHP 4.1.0 a pozdějším, tak
$HTTP_POST_VARS v PHP 3. Pokud je nastavení
register_globals aktivní globální proměnné pro
uploadované soubory jsou také inicializovány). Každé z nich bude
číselně indexované pole odpovídajících hodnot pro odeslané soubory.
Kupříkladu předpokládejme, že se posílají soubory s názvy
/home/test/review.html a
/home/test/xwp.out. V tom případě by
$HTTP_POST_FILES['userfile']['name'][0] obsahovalo
hodnotu review.html a
$HTTP_POST_FILES['userfile']['name'][1] hodnotu
xwp.out. Podobně
$HTTP_POST_FILES['userfile']['size'][0] by obsahovalo
velikost review.html atd.
$HTTP_POST_FILES['userfile']['name'][0],
$HTTP_POST_FILES['userfile']['tmp_name'][0],
$HTTP_POST_FILES['userfile']['size'][0] a
$HTTP_POST_FILES['userfile']['type'][0] budou
rovněž nastaveny.