Created
July 1, 2016 20:12
-
-
Save max-dark/6d3c49ea68345a23f3fd9d8766241ff8 to your computer and use it in GitHub Desktop.
Функция-генератор для однообразного перебора загруженных файлов
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Функция-генератор для однообразного перебора загруженных файлов | |
* Системные требования | |
* PHP >= 5.5.0 | |
* @link http://php.net/manual/ru/language.generators.php | |
*/ | |
/** | |
* Генератор для однообразного перебора загруженных файлов | |
* @return Generator | |
*/ | |
function Uploads() { | |
foreach ($_FILES as $id => $values) { | |
if (is_array($values['name'])) { | |
// перебор файлов, переданных через input с name, | |
// объявленными как массив(name="input_name[]") | |
foreach (array_keys($values['name']) as $key) { | |
$file = [ | |
'id' => "{$id}_{$key}", | |
'name' => $values['name'][$key], | |
'type' => $values['type'][$key], | |
'size' => $values['size'][$key], | |
'error' => $values['error'][$key], | |
'tmp_name' => $values['tmp_name'][$key], | |
]; | |
yield $file; | |
} | |
} | |
else { | |
// обычный input | |
$file = $values; | |
$file['id'] = $id; | |
yield $file; | |
} | |
} | |
} | |
// Пример использования | |
foreach (Uploads() as $file) { | |
print_r($file); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment