将变量循环到Array中,然后将其编码为1 JSON


Loop variable into an Array then encode it into 1 JSON

我已经搜索了一段时间,我似乎找不到解决我的问题的方法,所以我创建了一个帐户。

我的情况如下。

  1. 我正在做一个for循环上传图像的形式

  2. 每次循环时,它将有1个$Listingid.photo

  3. 我想将所有的$Listingid.photo添加到一个数组中,然后将其打包成1 JSON。

我不太确定如何接近它。目前,每个循环创建一个JSON响应。

只有最后两行代码对问题有影响。

我代码:

<?php
ini_set('display_errors', 1); error_reporting(E_ALL);
ob_start();
session_start();
include 'connect.php';
$Listingid =($_POST['listingid']);
if(isset($_FILES['file'])) {
    $_FILES["file"]["name"] = preg_replace('/'s+/', '', $_FILES["file"]["name"]);
    for($i=0;$i<count($_FILES["file"]["name"]);$i++)
    {
        $photo=$_FILES["file"]["name"][$i];
        $newname=$Listingid.$photo;
        move_uploaded_file($_FILES["file"]["tmp_name"][$i], "photo/$Listingid$photo");
        mysqli_query($con,"INSERT INTO listingpic (pic,listingid) VALUES ('$newname','$Listingid');") or die(mysqli_error($con));
        $arr = array('picname' => $Listingid.$photo);
        echo json_encode($arr);
    }
}
$arr[]=array('picname' => $Listingid.$photo);

然后将echo json_encode移出循环