我正在使用这个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, Compressed Size:2.9Kb, 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%"}
任何帮助都可以让它适用于多个文件。
答案 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请求。