亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改文檔時重新加載 Php

更改文檔時重新加載 Php

PHP
慕碼人8056858 2023-05-12 15:09:39
這是我的 PHP 代碼,我正在嘗試創建聊天<!DOCTYPE html><html><body><html><?phpsession_start();$userinput = $_GET["name"];if (empty($userinput)){} else {    $myfile = fopen("chat.txt", "a");    fwrite($myfile, $userinput);    fwrite($myfile, "<br>");}$chatfile = fopen("chat.txt", "r");echo fread($chatfile,filesize("chat.txt"));echo $chatfile;?> </body></html><form method="get" id="myForm" action=""><input type="text" name="name"placeholder="type in your comment" autofocus><input type="submit"></form><script></script></body></html>我知道 php 不是要走的路,但我想找點樂子,而且它似乎正在解決。另外,我想問一下你們如何讓聊天實時化。我創建了一個名為 chat.txt 的文檔,也許我可以檢測到它何時更改,然后重新加載。這種方法有兩個問題。1. 每次重新加載后,您之前輸入的消息都會再次輸入 2.我不知道如何檢測變化,也沒有找到任何方法來做到這一點,有人對此有解決方案嗎?(其他方法會很好) PS 我在 php 方面很糟糕
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

PHP 是執行此操作的一種奇怪方式。老實說,我在 PHP 中看到“實時”聊天的唯一方法是不斷刷新,即使這樣,用戶也無法輸入。像這樣的事情在 PHP 中很難做到,因為 PHP 實際上只是生成一個頁面供您查看,然后就完成了。使用 javascript 執行此操作對您來說會容易得多。您可以讓 JS 每 x 秒檢查一次文本文件,如果它檢測到更改,則刷新頁面,或者更好的是,更新聊天的 HTML。這不會太難:

每 15 秒讀取一個文本文件的內容

您只需要找到一種方法(可能是在 javascript 中)在按下按鈕時將內容寫入文件。這樣,其他客戶端就可以收到您的消息,并且您無需在每次發送消息時都刷新頁面。當然,這只適用于本地機器上的文本文件。


查看完整回答
反對 回復 2023-05-12
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

您應該為消息使用數據庫,因為每條消息都必須有插入日期。第一次嘗試 sqlite php.net/manual/en/sqlite3.installation.php 在其他(壞)方式中,您可以在新文件中添加每條消息,每個文件都有日期時間創建標記。要僅更新聊天,更好的方法(并且只有一種使用 php 的方法)是使用 javascript。jQuery 庫的開始是最好的,聊天是開始使用它們的好習慣。?您不能僅使用 php 獲取更新,因為 php 會完全顯示所有頁面并且無法僅更新 html 頁面的一部分,但 javascript 可以。沒有js的只用php寫的正常站點是沒有的。

查看完整回答
反對 回復 2023-05-12
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號