我正在试图弄清楚WordPress主题的工作原理。为此,我想从各种函数写入一个文件。该文件位于站点的根目录下。
fwrite(fopen("output.txt", "a"), "Test output\n");
从/test.php
,此输出到/output.txt
。我想在深层嵌套函数中写一个变量的值。将上面的代码输出复制/粘贴到我找不到的地方。这样:
fwrite(fopen("/output.txt", "a"), "Test output\n");
也不起作用。它提出了:
Warning: fopen(/output.txt) [function.fopen]: failed to open stream: Permission denied in /public_html/test.php on line 17
Warning: fwrite() expects parameter 1 to be resource, boolean given in /public_html/test.php on line 17
本手册指出了一些关于方案和包装器的东西,但没有多说道路。
如果PHP确定文件名指定了本地文件,那么它将尝试在该文件上打开一个流。该文件必须可供PHP访问,因此您需要确保文件访问权限允许此访问权限。如果您已启用
safe mode
或open_basedir
,则可能会有其他限制。
如何正确引用我想要的路径,以及PHP如何选择使用相对路径写入的位置?
答案 0 :(得分:1)
如果您不使用绝对路径,则路径相对于wordpress的index.php。要访问与php文件存储在同一文件夹中的文件,请使用全局常量__DIR__
:
fwrite(fopen(__DIR__ ."/output.txt", "a"), "Test output\n");
__DIR__
将为您提供当前php脚本的绝对路径。