在进行AJAX调用时写入JSON文件

时间:2013-03-14 19:25:51

标签: php ajax json file

当我正在进行ajax调用时,我正在尝试写入我的php中的json文件。我要做的是将一个JSON编码的数组写入json文件,而另一个将数据恢复到用户。当我不尝试写入文件时,一切正常,但是当我打开JSON文件并尝试写入它时,没有任何作用。感谢你的帮助,亨特。

CODE     

$username = mysql_real_escape_string($_POST['username']);
$password =  mysql_real_escape_string($_POST['password']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$lat = mysql_real_escape_string($_POST['lat']);
$lon = mysql_real_escape_string($_POST['lon']);

$choose_it = array('it', 'not it');
$key = array_rand($choose_it);
$it = $choose_it[$key];



$all_names = array();
$all_emails = array();

$sql="SELECT uname AND email FROM accounts";
$r = mysql_query($sql);
while($row = mysql_fetch_array($r))
{
    array_push($all_names, $row["name"]);
    array_push($all_emails, $row["email"]);
}

if(isset($username) && isset($password) && isset($name) && isset($lat) && isset($lon) && isset($email))
{
    if(in_array($name, $all_names))
    {
        $data = array("message" => "taken", "name" => "taken");
        echo json_encode($data);
    }
    if(in_array($email, $all_emails))
    {
        $data = array("message" => "email", "name" => "email");
        echo json_encode($data);
    }
    else
    {   
        $query = "INSERT INTO accounts (name, uname, pword, email, lat, lon, it) VALUES ('".$name."','".$username."','".$password."','".$email."','".$lat."','".$lon."','".$it."')";

        mysql_query($query);

        $write_data = json_encode(array("name" => $name, "lat" => $lat, "lon" => $lon, "it" => $it));

        $file = file_get_contents('');
        $fh = fopen($file, 'a') or die("can't open file");
        fwrite($fh, $write_data);   
        fclose($fh);

        $data = json_encode(array("message" => "yes", "name" => $name, "it" => $it));
        echo $write_data;


    }
}
else
{
    echo json_encode(array("message" => "not_set", "name" => "not_set"));
}
?>

1 个答案:

答案 0 :(得分:0)

这对我来说没有多大意义:

$file = file_get_contents('');
$fh = fopen($file, 'a') or die("can't open file");

使用:

$fh = fopen("some_filename", 'a') or die("can't open file");