If you have multiple file upload fields named "files[]"...
<?php
if (isset($_FILES["files"])) {
$uploads = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["name"]), "name");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["size"]), "size");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["type"]), "type");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["tmp_name"]), "tmp_name");
$uploads->attachIterator(new ArrayIterator((array) $_FILES["files"]["error"]), "error");
foreach ($uploads as $file) {
echo htmlspecialchars($file["name"]) . " = {$file["size"]} bytes<br/>";
}
}
?>
MultipleIterator::attachIterator
(PHP 5 >= 5.3.0)
MultipleIterator::attachIterator — Attache un itérateur
Description
Attache un itérateur.
Avertissement
Cette fonction n'est pas documentée et seule la liste des arguments est disponible.
Liste de paramètres
-
iterator -
Le nouvel itérateur à attacher.
-
infos -
Les informations de l'itérateur, qui doivent être un entier, une chaîne de caractères ou
NULL.
Valeurs de retour
Erreurs / Exceptions
Une exception IllegalValueException si le paramètre iterator
est invalide, ou si infos est une information déjà associée.
DDT ¶
4 months ago
andresdzphp at php dot net ¶
1 year ago
<?php
$ait_id = new ArrayIterator(array('c1001', 'c1002', 'c1003'));
$ait_name = new ArrayIterator(array('apple', 'orange', 'banana'));
$ait_units = new ArrayIterator(array(756, 996, 2345));
$mit = new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
$mit->attachIterator($ait_id, "ID");
$mit->attachIterator($ait_name, "NAME");
$mit->attachIterator($ait_units, "UNITS");
echo $mit->countIterators() . "\n"; //3
if ($mit->containsIterator($ait_id)) { //true
echo "ait_id iterator attached \n";
}
foreach ($mit as $fruit) {
echo "<pre>";
print_r($fruit);
echo "</pre>";
}
?>
Result:
3
ait_id iterator attached
Array
(
[ID] => c1001
[NAME] => apple
[UNITS] => 756
)
Array
(
[ID] => c1002
[NAME] => orange
[UNITS] => 996
)
Array
(
[ID] => c1003
[NAME] => banana
[UNITS] => 2345
)
