在代码保持不变的情况下log.txt
将写入的文件取决于PWD
(当前工作目录值)。它可以是您的web根目录,也可以是其他任何位置。
然而,由于WordPress AJAX调用wp-admin/admin-ajax.php
文件PWD
因为AJAX几乎总是wp-admin/
目录因此,如果将文件路径用作$path = \'log.txt\';
, 日志文件几乎总是在wp-admin/
目录
现在,为了确保它是在插件目录中创建的,您可以使用:
function writeToLog( $u ) {
// this will create the log where the CODE of this function is
// adjust it to write within the plugin directory
$path = dirname(__FILE__) . \'/log.txt\';
$agent = $_SERVER[\'HTTP_USER_AGENT\'];
if (($h = fopen($path, "a")) !== FALSE) {
$mystring = $u . \' \' . $agent . PHP_EOL;
echo(\'mystring seems to be working\');
fwrite( $h, $mystring );
fclose($h);
}
else
die(\'WHAT IS GOING ON?\');
}
由于是WordPress(默认设置),您可以使用
ABSPATH
常量将其写入
Web Root
以及:
$path = ABSPATH . \'log.txt\';
顺便说一句,最好在自己的插件目录中编写这些日志,而不是
web root
. 您最好保持web根目录不可通过脚本写入(有利于安全)。