我正在将json值附加到外部文件中。表单数据是使用ajax和post变量捕获的。我有一个小脚本,它分解json数据字符串,并尝试将文件与中间(或实际上在末尾)的post变量一起内爆。
<?php
$json_file = "data.json";
$json_data = $_POST["newUpload"]."]}";
//something like {"name":"foo","email":"foo@bar.com"}
$fh = fopen($json_file, 'r+'); //I think this is the problem???
$data = fread($fh, filesize($json_file));
$jsonFrags = explode("]}",$data);
$new_data = implode($json_data,$jsonFrags);
fwrite($fh, $new_data);
fclose($fh);
?>这是我能想到的最简单的事情,允许一个用户列表在一个运行XAMPP的网站和一台互联网访问非常有限的Windows机器上增长。一天一次或者两次。
整个JSON看起来像这样:
{"uploads": [{"name":"foo","email":"foo@bar.com","imgurl":"http://placehold.it/50x50"}]}我将文件数据加载到$data中,并在文件字符串"]}“的末尾将其分解。这样,它总是附加到末尾。但它不会爆炸/内爆给我带来问题。我可以使用str_replace并得到相同的结果。在运行上面的PHP脚本之后,我在data.json中得到了以下代码:
{"uploads": [{"name":"foo","email":"foo@bar.com","imgurl":"http://placehold.it/50x50"}]}{"uploads": [{"name":"bar","email":"bar@foo.com","imgurl":"http://placehold.it/100x100"}]} 我已经能够改变fopen的论点以获得不同的结果,这些结果都不是我所希望的结果。有什么想法吗?
发布于 2013-02-13 15:01:29
好吧,您根本没有定义变量$json。所有的PHP都知道,$json是空的。您的代码正在尝试打开一个文件(用于读取),但该文件为空!
https://stackoverflow.com/questions/14848103
复制相似问题