【问题标题】:Trying to write file, file not being written试图写入文件,文件没有被写入
【发布时间】: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


【解决方案1】:

您必须对包含脚本的文件设置写执行权限。 这是一个很好的指南: http://www.phpjunkyard.com/tutorials/ftp-chmod-tutorial.php

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 2012-01-16
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多