HTML — загрузить несколько файлов изображений и отобразить на следующей странице. Переполнение стека

Я пытаюсь загрузить несколько изображений одновременно, а затем при отправке отобразить эти изображения на странице. Это будет использоваться с mPDF. Я использую примеры в руководстве на http://mpdf1.com/manual/index.php?tid=467

Он имеет текстовое поле и 1 загрузчик изображений и отображает то, что когда-либо было в текстовом поле, и изображение на следующей странице. Как я могу преобразовать это, чтобы использовать несколько изображений?

Страница 1:

<?php
$html = '
<html>
<body>
<form action="example_userinput2.php" method="post" enctype="multipart/form-data">
Enter text:
<br />
<textarea name="text" id="text"></textarea>
<br />
<label for="file">Choose Image to upload:</label> <input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
';
echo $html;
exit;
?>

Страница 2: (также более конкретно, что я изменяю области, которые я отметил ** **, после разрешения нескольких изображений.)

<?php

if (($_FILES["file"]["type"] == "image/gif" || $_FILES["file"]["type"] == "image/jpeg")
& $_FILES["file"]["size"] < 20000)   {
// If the destination file already exists, it will be overwritten
move_uploaded_file($_FILES["file"]["tmp_name"], "../tmp/" . $_FILES["file"]["name"]);
}
else {
echo "Invalid file";
}

$html ='
<html>
<body>
<div>'.$_POST['text'].'</div>
**<img src="' ."../tmp/" . $_FILES["file"]["name"].'" />**

<form action="example_userinput3.php" method="post" enctype="multipart/form-data">
<textarea style="display:none" name="text" id="text">'.$_POST['text'].'</textarea>
**<input type="hidden" name="filename" id="filename" value="'. $_FILES["file"]**["name"].'" />
<input type="submit" name="submit" value="Create PDF file" />
</form>

</body>
</html>
';
echo $html;
exit;
?>

Страница 3 переходит к генератору mPDF, поэтому я могу преобразовать это в PDF для другого проекта, который я имею в виду.

Любая помощь будет потрясающей.

0

Решение

Из руководства php, чтобы найти здесь: http://php.net/manual/en/features.file-upload.multiple.php

   <form action="example_userinput2.php" method="post" enctype="multipart/form-data">
Send these files:<br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input type="submit" value="Send files" />
</form>

На странице 2 вы можете продолжить цикл и обработать эти файлы сразу:

foreach ($_FILES['array_of_files'] as $position => $file) {
// should output array with indices name, type, tmp_name, error, size
var_dump($file);
}

Вы можете сделать то же самое, что и с одним файлом в цикле

1

Другие решения

Вы можете иметь несколько <input type="file"> Элементы HTML, установленные на вашей странице, настроены следующим образом:

<input type="file" name="file[0]" />
<input type="file" name="file[1]" />

и т.п.

И затем в PHP цикл через них:

foreach($_FILES['file'] as $file){
//refer to everything as $file instead of $_FILES['file']
}

Этого должно быть достаточно, чтобы вы начали.

0

По вопросам рекламы [email protected]