使用 WordPress AJAX 在 JSON 文件中保存数据
Saving data in a JSON file with WordPress AJAX
所以我有一个 wordpress Ajax 函数,它检索 MySQL 数据作为 JSON 并记录它。但是我不想直接在 AJAX 函数所在的页面上取回数据,而是想将数据保存到 JSON 文件中,这样我就可以将它用于更广泛的用途目的。
这是我的 AJAX 函数:
$.get(
ajax_url,
data,
function(data) { // AJAX callback
fill_json(data);
}// End AJAX callback
);
fill_json()
是我自己写的table中回显JSON数据的函数。
下面是我的 AJAX 钩子中发生的事情:
$sql_search = $wpdb->get_results(" a complicated mysql search here ");
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$result = json_encode($result);
echo $result;
} else {
header("Location: ".$_SERVER["HTTP_REFERER"]);
}
在我的 Ajax 钩子的 echo $result;
下方 我尝试了以下代码,但我不知道如何查看它是否有效:
$json_path = "/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/new/search.json";
file_put_contents($json_path, $result);
我的问题:
这是将数据保存到 JSON 文件的正确方法吗?我怎样才能在我的主页上获取这些数据?
附加问题:将 $result
保存到 JSON 文件会与多个用户同时使用 AJAX 冲突吗?
您所做的一切都是正确的..请确保以下步骤:
- 将写入权限传递到文件夹/new里面"Amazing_japan_HP" (chmod -R 666 /new)
- 要将数据保存在文件中,请使用 file_put_contents($file, $current);
要从文件中获取数据,请使用 $current = file_get_contents($file);
对于所有新创建的文件尝试使用 umask。它为文件提供写入内容所需的权限
umask() sets PHP's umask to mask & 0777 and returns the old umask.
When PHP is being used as a server module, the umask is restored when
each request is finished.
所以我有一个 wordpress Ajax 函数,它检索 MySQL 数据作为 JSON 并记录它。但是我不想直接在 AJAX 函数所在的页面上取回数据,而是想将数据保存到 JSON 文件中,这样我就可以将它用于更广泛的用途目的。
这是我的 AJAX 函数:
$.get(
ajax_url,
data,
function(data) { // AJAX callback
fill_json(data);
}// End AJAX callback
);
fill_json()
是我自己写的table中回显JSON数据的函数。
下面是我的 AJAX 钩子中发生的事情:
$sql_search = $wpdb->get_results(" a complicated mysql search here ");
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$result = json_encode($result);
echo $result;
} else {
header("Location: ".$_SERVER["HTTP_REFERER"]);
}
在我的 Ajax 钩子的 echo $result;
下方 我尝试了以下代码,但我不知道如何查看它是否有效:
$json_path = "/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/new/search.json";
file_put_contents($json_path, $result);
我的问题:
这是将数据保存到 JSON 文件的正确方法吗?我怎样才能在我的主页上获取这些数据?
附加问题:将 $result
保存到 JSON 文件会与多个用户同时使用 AJAX 冲突吗?
您所做的一切都是正确的..请确保以下步骤:
- 将写入权限传递到文件夹/new里面"Amazing_japan_HP" (chmod -R 666 /new)
- 要将数据保存在文件中,请使用 file_put_contents($file, $current);
要从文件中获取数据,请使用 $current = file_get_contents($file);
对于所有新创建的文件尝试使用 umask。它为文件提供写入内容所需的权限
umask() sets PHP's umask to mask & 0777 and returns the old umask. When PHP is being used as a server module, the umask is restored when each request is finished.