【发布时间】:2013-05-09 15:43:12
【问题描述】:
我正在尝试将变量的内容写入 .php 文件,以便稍后通过 requite_once 访问该文件,并稍后使用该变量。
我尝试写入的目录具有 755 权限,我与托管服务提供商交谈,他们说我现在可以写入该目录。
但是,文件没有被写入。这是我试图用来编写文件的代码:
error_reporting(-1);
$elasticaObject = var_export($elasticaObject, true);
file_put_contents('theIndex.php', $elasticaObject);
echo "done!";
我得到了 done!done!done! 的输出!
但是,该文件没有被写入,因为我在尝试访问它时收到 404 错误,并且因为它在目录列表中不存在。
【问题讨论】:
-
检查file_put_contents的返回值,看看它是否认为它正在写任何东西。它可能正在写入您不期望的位置的文件,因为您没有指定文件的完整路径。
-
php.net/file_get_contents -
This function returns the number of bytes that were written to the file, or FALSE on failure.。你还没有检查你从函数中得到了什么。 -
我在您的代码中看不到任何错误。除了正确的文件权限 (755) 之外,您是否为该目录设置了正确的 Linux 所有者和组?必须与 Apache(或您的 Web 服务器软件)相同。正在写入的 PHP 文件是否也具有 755 权限?
-
@Anigel 它正在返回 (2569)。
-
@IMUXIxD - 您需要检查 文件的写入位置 - 尝试添加绝对路径以确保将其写入您认为应该在的位置。
标签: php