Javascript 如何在不刷新php的情况下打开、读取、关闭、更新、重新打开和读取文件

Javascript 如何在不刷新php的情况下打开、读取、关闭、更新、重新打开和读取文件,javascript,php,html,Javascript,Php,Html,我正在尝试使用html和php制作一个聊天应用程序 我正在写一个包含整个聊天内容的.txt文件,希望每五秒钟阅读一次,而不刷新我的页面。我尝试在javascript中使用循环,但它在再次打开文件后不会刷新文件 function readChat(){ clearArea(); <?php if ($file = fopen("chat.txt", "r")) { while(!feof($file)) { $

我正在尝试使用html和php制作一个聊天应用程序

我正在写一个包含整个聊天内容的.txt文件,希望每五秒钟阅读一次,而不刷新我的页面。我尝试在javascript中使用循环,但它在再次打开文件后不会刷新文件

function readChat(){
      clearArea();
    <?php

        if ($file = fopen("chat.txt", "r")) {
          while(!feof($file)) {
            $line = trim(fgets($file));
            if($line !== " "){
              $arr = explode(":", $line, 2);
              $name = $arr[0];
              $string = $arr[1];
              $string = str_replace(array("\r", "\n"), '', $string);


              if($name === $_COOKIE["username"] && $string !== "" && $string !== " " && $string !== "\n"){
                echo "selfMessage(\"".$string."\");";
              }else if($line !== "" && $line !== " " && $line !== "\n" && $string !== "" && $string !== " " && $string !== "\n"){
                echo "otherMessage(\"".$string."\", \"".$name."\");";
              }
            }
          }
          fclose($file);
        }



    ?>
    }

      window.setInterval(function() {
        readChat();
      }, 5000);
函数readChat(){ 净空面积(); } setInterval(函数(){ readChat(); }, 5000);
这就是我到目前为止所尝试的。

您遇到的问题是由于混合了PHP和Javascript代码

首先,您应该知道PHP代码在服务器上执行,该服务器生成将发送到客户端(web浏览器)的页面内容。然后,web浏览器执行它接收的页面内容中包含的Javascript代码

你能看到为什么聊天没有更新吗

当请求页面时,PHP函数只执行一次,并将聊天消息插入
readChat()
函数的主体中。当浏览器接收到包含
readChat()
的网页数据时,它只会看到聊天信息,就好像它们是硬编码到函数中一样

例如,以下PHP脚本:

函数someJSFunc(){

我认为您需要Ajax来调用另一个php脚本。该php脚本只是打开一个读或打开并写入(您需要的),您可以异步调用它。对此进行检查。问题是我不理解如何使用JQuere或Ajax。@kevwpl我更新了这个答案,以便更好地解释如何使用JQuery和发出Ajax请求。
function someJSFunc() {
    var now = '6/4/2019 16:39:18';
    console.log(now);
}