@historydev
Острая аллергия на анимешников

Как загружать много картинок через один input[file]?

Доброй ночки.Скажите пожалуйста,у меня есть 25 инпутов и при клике на кнопку с каждого инпута имя залетает в массив,а картинка загружается в папку на сервер.Мне нужно чтобы функционал остался тот-же,но я загружал картинки multiply методом.Спасибо большое.

Код:

<!DOCTYPE html>
<html lang="en">
   <head>
      <title>Add img</title>
   </head>
   <body>
   <?php
   
   $connect = mysqli_connect('****','***','***','imgs');
   
      $count = 25; 
      // количество полей для загрузки файлов 
      $i = 0;
      $path = dirname(__FILE__).'/';
      // путь до папки куда сохранять, ./ считать от расположениея скрипта 
      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++) { 
      		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 = $name[0] . '.png';
      				$newnames[] = $newname;
      				
      				$query = mysqli_query($connect, 'INSERT INTO img (img1,img2,img3,img4,img5,img6,img7,img8,img9,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19,img20,img21,img22,img23,img24,img25) VALUES("'.$newnames[0].'","'.$newnames[1].'","'.$newnames[2].'","'.$newnames[3].'","'.$newnames[4].'","'.$newnames[5].'","'.$newnames[6].'","'.$newnames[7].'","'.$newnames[8].'","'.$newnames[9].'","'.$newnames[10].'","'.$newnames[11].'","'.$newnames[12].'","'.$newnames[13].'","'.$newnames[14].'","'.$newnames[15].'","'.$newnames[16].'","'.$newnames[17].'","'.$newnames[18].'","'.$newnames[19].'","'.$newnames[20].'","'.$newnames[21].'","'.$newnames[22].'","'.$newnames[23].'","'.$newnames[24].'")');     				
      				
      				echo $newnames[$i];
      				
      				// обработка и сохранение 
      				imagepng($image, $path . time() . $name[0] . '.png', 9 , PNG_ALL_FILTERS);
      				
      			} 
      			else { 
      				echo '<h2>Какой то левый файл ' . $_FILES['file']['name'][$i] . '</h2>';
      			
      			}
      			
      			} 
      			else { continue; }      			
      			} 
      			#echo '<pre>' . print_r($_FILES, true) . '</pre>'; 
      			
      			} 
      			else { echo '<h2>Ни чего не выбрано</h2>'; }
      			?> 
   </body>
</html>
  • Вопрос задан
  • 314 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
<?php
if($_FILES) {
    print_r($_FILES);
    die();
}
?>
<html>
<body>
<form method="POST" enctype="multipart/form-data">
    <input type="file" name="file[]" multiple>
    <button type="submit">LOAD</button>
</form>
</body>
</html>

вывод
Array
(
    [file] => Array
        (
            [name] => Array
                (
                    [0] => 6FYITcA2Grs.jpg
                    [1] => 7Vbe6k311ns (1).jpg
                )

            [type] => Array
                (
                    [0] => image/jpeg
                    [1] => image/jpeg
                )

            [tmp_name] => Array
                (
                    [0] => /private/var/folders/7r/hm0mck8s795dmctppqh7bgwm0000gn/T/phpAS3jPp
                    [1] => /private/var/folders/7r/hm0mck8s795dmctppqh7bgwm0000gn/T/phpfkqzQa
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 0
                )

            [size] => Array
                (
                    [0] => 278560
                    [1] => 50086
                )

        )

)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 11:46
3000 руб./за проект
23 апр. 2024, в 11:38
20000 руб./за проект