首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否在fopen中使用了错误的参数?

我是否在fopen中使用了错误的参数?
EN

Stack Overflow用户
提问于 2013-02-13 14:57:46
回答 1查看 72关注 0票数 0

我正在将json值附加到外部文件中。表单数据是使用ajax和post变量捕获的。我有一个小脚本,它分解json数据字符串,并尝试将文件与中间(或实际上在末尾)的post变量一起内爆。

代码语言:javascript
复制
<?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看起来像这样:

代码语言:javascript
复制
{"uploads": [{"name":"foo","email":"foo@bar.com","imgurl":"http://placehold.it/50x50"}]}

我将文件数据加载到$data中,并在文件字符串"]}“的末尾将其分解。这样,它总是附加到末尾。但它不会爆炸/内爆给我带来问题。我可以使用str_replace并得到相同的结果。在运行上面的PHP脚本之后,我在data.json中得到了以下代码:

代码语言:javascript
复制
{"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的论点以获得不同的结果,这些结果都不是我所希望的结果。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-13 15:01:29

好吧,您根本没有定义变量$json。所有的PHP都知道,$json是空的。您的代码正在尝试打开一个文件(用于读取),但该文件为空!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14848103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档