php多个图像上传并显示每个图像

时间:2014-12-08 08:48:38

标签: php image-processing file-upload

我正在努力解决一些多图片上传脚本问题。

我要实现的是,上传多个图像然后将每个图像保存路径保存到变量

所以我稍后用于显示。

但是当我运行脚本时,我只能保存第一个上传图像路径值。

<form action="" method="post" enctype="multipart/form-data">
<p>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="submit" value="Send" />
</p>
</form>


<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        $ext = substr(strrchr($name, "."), 1);
        $randName = md5(rand() * time());
        $pathimg = "images/$randName.$ext";
        move_uploaded_file($tmp_name, $pathimg );
        echo '<img src="'.$pathimg.'"; >' ;


    }
}
?>

这是上传路径&#39;&#39;

例如,如果我上传3张图片,那么我想将这3张图片上传的路径保存到变量中。所以每个变量都是$ A,$ B,$ C

或者如果我上传4张图片,我也想将这4张图片路径变为变量,然后再用于

请赐教!感谢

1 个答案:

答案 0 :(得分:1)

为什么在上传时会出现错误。

更改

foreach ($_FILES["pictures"]["error"] as $key => $error) {

foreach ($_FILES["pictures"] as $key => $tempFile) {

此外,成功上传后,将图像附加到数组中。

$arr = array();
foreach ($_FILES["pictures"] as $key => $tempFile) {
  // YOUR CODE
  $arr[] = '<img src="'.$pathimg.'"; >' ;
}

然后将它打印出来。

if (! empty($arr)) {
  foreach ($arr as $img) {
    echo '<img src="'.$img.'"/>';
  }
}