我正在为所有在站点中执行的操作制作一些日志,这些操作可以存储在中。txt文件。
我的php代码在正常加载时运行良好,但当我使用ajax时,似乎没有阅读php上的fopen、fpost方法。。
请检查我的代码。
这是我的函数和ajax处理程序
function action_log( $msg ) {
$current_user = wp_get_current_user();
$path = "wp-content/themes/creation/templates/inc/log.txt";
$myfile = (file_exists($path)) ? fopen($path, "a+") : fopen($path, "w+");
$txt = $msg.$current_user->display_name."\\n";
if ( $myfile ) {
fwrite( $myfile, $txt );
fclose( $myfile );
chmod($path, 0777);
$result = $txt;
return $result;
} else {
$result = $myfile;
return $txt;
}
}
add_action(\'wp_ajax_action-log-ajax\', \'action_log_ajax\');
add_action(\'wp_ajax_nopriv_action-log-ajax\', \'action_log_ajax\');
function action_log_ajax(){
$post = $_REQUEST;
$msg = $post[\'msg\'];
$write = action_log( $msg );
exit( wp_send_json_success( $write ) );
}
我的jquery插件函数
$.send_log_changes = function( $msg ) {
var msgs = $msg;
var action = \'action-log-ajax\';
console.log(msgs);
$.post({
url: plugins_ajax.ajaxUrl,
method: \'POST\',
data: {
action: action,
msg: msgs
},
dataType: \'json\',
success: function( respones ) {
console.log(respones);
}
});
}
我试过使用。AJAX收到post仍然是相同的错误。它总是回来
False
无法在文件中写入/打开。