2014-12-08 106 views
2

我与一些多图像上传脚本斗争。php多个图像上传并显示每个图像

什么我实现做的是,上传多张图像,然后每个图像保存路径保存到变量

,所以我后来使用的显示器。

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

<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.'"; >' ; 


    } 
} 
?> 

此,如果我上传3个图像被上传路径“”

例如然后我想这3图像上传路径保存到变量中的每个。所以每个变量将是$ A,$ B,$ C

,或者如果我上传到这4图像路径4个图像我也希望每一个变量,然后使用后

请赐教!谢谢

回答

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.'"/>'; 
    } 
} 
+0

感谢它伟大而简单的代码.. :)再次感谢 – user3138338 2014-12-08 14:57:56