【问题标题】:PHP: Cannot read from a .txt filePHP:无法从 .txt 文件中读取
【发布时间】:2017-02-03 21:25:47
【问题描述】:

所以我有一个游戏服务器,它会自动将在线玩家数量发送到一个 .php 文件,该文件每分钟将一个 .txt 文件更新为当前玩家数量。

但是,当我尝试将 .txt 文件的内容写入我的网站时,它根本不会读取 .txt 文件。 .txt 只包含 1 个数字。

示例: player.txt 包含一个数字,该数字是 11(在线玩家)。

<h5> Come play with <?php echo file_get_contents("players.txt");?> other players</h5>

结果是“和其他玩家一起玩”。

【问题讨论】:

  • 运行 Web 服务器的用户可能无权访问该文件。检查网络服务器错误日志。
  • 该文件与我的 index.php 和重写 .txt 的 .php 位于同一目录中。
  • 根据文件的写入方式,即使在同一个文件夹中,文件的权限可能仍然不正确。在目录下试试ls -al,看看文件的所有者是谁,有效权限是什么。
  • 我不确定你在说什么。这只是一个普通的 .txt 文件,我什至在我的本地驱动器上尝试过,但它不起作用。我不是一个出色的网络开发人员,但 .txt 文件不应该这么难读,尤其是当它是 1 个数字时。
  • 检查file_exists('players.txt')

标签: php


【解决方案1】:

它读取文件但假定它是空的。如果文件不存在或由于权限或其他原因无法打开,服务器会抛出错误。

试试这个: 1. 回显随机字符串 ex。 &lt;?php echo '12' ?&gt;
2. 为 ex 创建另一个文件。带有随机数的 player1.txt 并以相同的方式获取其内容。 &lt;?php echo file_get_contents('players1.txt'); ?&gt;

【讨论】:

  • 答案不是为了寻求澄清。一旦您获得了一些声誉,you'll be able 可以对问题发表评论。
  • 对。谢谢。我太热心帮忙了)
【解决方案2】:

我不是一个出色的 Web 开发人员,但 .txt 文件不应该这么难读,尤其是当它是 1 个数字时。

这是主观的,因为您知道它是一个 txt 文件并且您知道它应该包含一个数字,您遇到的问题可能是 逻辑 而不是 主观 .它可以是图像文件或 .dat 文件,如果一个进程正在写入该文件,则该文件可能被锁定,因此其他进程无法读取该文件,或者由于所有权而拒绝读取器访问,无论文件类型或内容如何。

  • 你的PHP error log 说什么?
  • Check 文件具有正确的组/所有者权限和update them as required
  • 您是否已clearing your static PHP cache 以使任何检索到的值保持最新?
  • 您是否正在写入文件with correct locking
  • Using a Database 远,比使用文件系统跟踪此类数据更高效、更高效。
  • 如果您使用 Unity,请注意它是本地文件在线安全规定绝对令人震惊,并不是说这对您来说是一个问题,但作为一般附带条件,将可访问性限制为尽可能。 始终清理您的数据。

            $valueToPlaceIntoFile = (int)$_POST['playerCounter'];
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    相关资源
    最近更新 更多