0

我试图弄清楚 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 modeopen_basedir,则可能会应用更多限制。

如何正确引用我想要的路径,PHP 如何选择使用相对路径写入的位置?

4

1 回答 1

1

如果您不使用绝对路径,则该路径是相对于 wordpress 的 index.php 的。要访问与您的 php 文件存储在同一文件夹中的文件,请使用全局常量__DIR__

fwrite(fopen(__DIR__ ."/output.txt", "a"), "Test output\n");

__DIR__将为您提供当前 php 脚本的绝对路径。

于 2013-04-10T22:33:12.713 回答