json输出多个文件

时间:2016-11-15 09:35:46

标签: php json

我正在使用这个php代码,它对一个文件完美无缺,但是当我上传多个文件时生成的json包含错误。

$response = array('file' => ''.$file.'', 'date' => ''.date("d:m:y").'', 'save' => ''.$saving.'%');

echo json_encode($response);

如果我使用一个文件,则json输出有效

{"file":"http:\/\/xyy.com\/3\/4\/23968281479202046440249.png","date":"15:11:16","save"
:"<br>Original Size:8.3 Kb, &nbsp;&nbsp;&nbsp; Compressed Size:2.9Kb, &nbsp;&nbsp;&nbsp;Saving:65%"}

但是如果我使用两个或更多文件,json输出无效且包含错误。

{"file":"http:\/\/xxxxxxx.com\/4\/352118314792022053319009.png","date":"15:11:16","save"
:"Saving:68%"}{"file":"http:\/\/way2enjoy.com\/pdf\/1\/2\/3\/4\/270182314792022054204908.png","date":"15:11:16"
,"save":"Saving:65%"} 

任何帮助都可以让它适用于多个文件。

1 个答案:

答案 0 :(得分:0)

具有两个文件对象的字符串看起来像是一对一个打印的几个JSON对象。您应该在编码和打印它们之前加入数组,以便生成有效的JSON对象,例如:

$date = date("d:m:y");
$response = [
  ['file' => $file1, 'date' => $date, 'save' => $saving.'%'],
  ['file' => $file2, 'date' => $date, 'save' => $saving.'%'],
];
// Also, use the correct MIME type for JSON content
header('Content-Type: application/json');
echo json_encode($response);

否则,为每个文件发出单独的HTTP请求。