$count = 5; // количество полей для загрузки файлов
$i = 0;
$path = './dir/'; // путь до папки куда сохранять, ./ считать от расположениея скрипта
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
?>
<form action="?" enctype="multipart/form-data" method="post">
<?php while (++$i <= $count) : ?>
<div><input type="file" name="file[]"/></div>
<?php endwhile; ?>
<div><input type="submit" name="submit" value="submit"/></div>
</form>
<?php
if (isset($_POST['submit']) && count($_FILES)) {
for ($i = 0; $i <= $count; $i++) {
$newnames = [];
if (!empty($_FILES['file']['name'][$i])) {
if ($info = getimagesize($_FILES['file']['tmp_name'][$i])) {
$image = imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name'][$i]));
$name = explode('.', $_FILES['file']['name'][$i]);
// обработка и сохранение
$newname = $path . time() . $name[0] . '.png'; // это имя для базы, даже путь полный, только имя можно получить например через basename();
$newnames[] = $newname; // basename($name);
imagepng($image, $newname, 9 , PNG_ALL_FILTERS);
} else {
echo '<h2>Какой то левый файл ' . $_FILES['file']['name'][$i] . '</h2>';
}
} else {
continue;
}
echo '<pre>' . print_r($newnames, true) . '</pre>';
}
} else {
echo '<h2>Ни чего не выбрано</h2>';
}