我试图遍历所有可用图片并将其提交给客户端。使用下面的代码,当我一次上传多张图片时,我只能得到一个。完全相同的代码也在我的PHP页面中,并完美地显示所有图像。所以我假设它与我构建数组的尝试或循环本身有关。 ;}
我知道我的脚本目前很容易受到sql注入的攻击,后来确保安全。;)
$sqlhhh = "SELECT * FROM userphotos WHERE photo_name='".$row['photo_title']."'
AND photo_ownerid='".$row['streamitem_creator']."'
AND photo_datetime='".$row['streamitem_timestamp']."' ORDER BY photo_id DESC";
$resulthhh = mysqli_query ($mysqli,$sqlhhh)or die(mysqli_error($mysqli));
$photo_num=mysqli_num_rows($resulthhh);
while ($rowhhh = mysqli_fetch_assoc($resulthhh)) {
$json = array(
'posts' => array(),
);
$images = array();
$image[] = $rowhhh['photo_imagedata'];
}
foreach ($image as $ima) {
if($photo_num==1){
$posts['streamitem_imageuploaded']='<img src="data:image/jpeg;base64,'. base64_encode($ima) .'" />';
}else{
$posts['streamitem_imageuploaded']='<img class="stream_images" style="width:235px;height:200px;object-fit:cover;margin:2px;padding:2px;" src="data:image/jpeg;base64,'. base64_encode($ima) .'" />';
}
}
$json['posts'][] = $posts;
答案 0 :(得分:1)
那是因为你在target="blank"
循环的每次迭代中初始化$images
数组。在while()
循环之外使用此语句$images = array();
。同样的逻辑也适用于while()
数组。
另外,请看以下两行,
$json
和
$image[] = $rowhhh['photo_imagedata'];
foreach ($image as $ima) { ...
未定义,您必须在这些地方使用$image
数组。
因此,请按以下方式重构您的$images
和while()
循环,
foreach()