filemtime()不适用于我的脚本,但适用于我复制示例代码的脚本

时间:2018-07-02 06:38:27

标签: php ajax long-polling filemtime

我在数据文件的某个文件夹下有一个 .txt 文件。现在,我创建了一个由ajax运行的长轮询系统(实际复制了代码)。 现在的问题是我的php脚本无法获取文本文件的文件修改时间(它完全忽略了该文件)。

下面我既有作者的原始代码,也有我的扭曲代码。作者之一很好,但不是我的。 请帮助。

  

apache服务器托管在Windows服务器上

     

文件路径绝对正确且文件存在。

这是我的代码中有错误的部分

    while (true) {
    //**The error occurs here**
    $fileModifyTime = filectime($file);

    if ($fileModifyTime === false) {
        throw new Exception('Could not read last modification time');
    }

    // if the last modification time of the file is greater than the last update sent to the browser...
    if ($fileModifyTime > $lastUpdate) {
        setcookie('lastUpdate', $fileModifyTime);

  require 'msgread.php';
  // get file contents from last lines...
  $fileRead = tailCustom($file, 8);

        exit(json_encode([
            'status' => true,
            'time' => $fileModifyTime,
            'content' => $fileRead
        ]));

    }

    // to clear cache
    clearstatcache();

    // to sleep
    sleep(1);

}

这是我复制的原始代码 the author's original polling code

这是我的完整代码,以防万一 My script which has error

1 个答案:

答案 0 :(得分:0)

我怀疑您的问题是<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> <android.support.v7.widget.RecyclerView android:layout_height="match_parent" android:layout_width="match_parent" android:layout_marginTop="30dp" android:layout_marginBottom="30dp" app:layout_scrollFlags="scroll|exitUntilCollapsed" android:id="@+id/post_msg_recyclerview"> </android.support.v7.widget.RecyclerView> <EditText android:layout_width="match_parent" android:layout_height="50dp" app:layout_constraintBottom_toBottomOf="parent" android:background="@color/colorPrimary" /> </android.support.constraint.ConstraintLayout> 不存在。您是否创建了它并确保它在脚本的当前工作目录中?

在看不到您的实际代码的情况下不可能说更多。如果选择它,然后按 Ctrl + K ,将全部缩进。