上传多个图像文件并显示在下一页上。 PHP

时间:2014-10-24 21:47:08

标签: php html forms mpdf

我尝试一次上传多张图片,然后在提交页面上显示这些图片。这将与mPDF一起使用。我正在使用http://mpdf1.com/manual/index.php?tid=467

手册中的示例

它有一个文本框和一个图像上传器,显示文本框中的内容和下一页的图像。如何将其转换为使用多个图像?

第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,以用于我想到的另一个项目。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

从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 :(得分:0)

您可以通过以下方式在页面上设置多个<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']
} 

这应该足以让你开始。

相关问题