yaleksandr89
10/16/2019 - 7:05 PM

Загрузка нескольких изображений.

<?php
$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>';
}