2017-05-22 19 views
-1

私は文字通り5つのGoogle検索結果ページをすべてのリンクをクリックしました。はありません。が見つかりました。php - どのように.htmlファイルからエントリを削除しますか?

私の状況:ファイルがonline.htmlです。このファイルは、サイトにオンラインでいるすべての現在のユーザーの名前を格納します。彼らは、このコードを追加している

<div class='msgln'><p style='color:#39EF38'>Guest 58494</p></div> 
<div class='msgln'><p style='color:#67AE9F'>python-b5</p></div> 

$fp = fopen ("online.html", 'a'); 
fwrite ($fp, "<div class='msgln'><p style='color:#" . $_SESSION ['colour'] . "'>" . $_SESSION ['name'] . "</p></div>"); 
fclose ($fp); 

その後、ユーザーがログアウトし、私は彼らのユーザーのためにonline.htmlのエントリを削除したい通常、文書は次のようになります。しかし、私はそれを達成する方法を把握することはできません。どうすればそのエントリを削除できますか?

// Simple exit message 
$fp = fopen ("log.html", 'a'); 
fwrite ($fp, "<div class='msgln'><i>Goodbye, " . $_SESSION ['name'] . "!</i><br></div>"); 
fclose ($fp); 
// deletion code goes here 
session_destroy(); 
header ("Location: index.php"); // Redirect the user 
+2

[phpを使ってファイルから行を削除するにはどうすればいいですか?](https://stackoverflow.com/questions/5712878/how-to-delete-a-line-from-the-file-with- php) –

+1

データベースを使用します。 –

+0

ファイルストリームを開き、 'file_get_content'で解析してから、探しているユーザーを見つけてください。 'stripos'の内容が重複している可能性があります。 –

答えて

0

なぜユーザーのオンラインステータスを静的ファイルとして書きたいのですか?

通常、すべてのリクエストで更新できるlast_activityタイムスタンプをユーザーテーブルに用意しています。

最後の5-10分以内のlast_activityタイムスタンプを持つすべてのユーザーは、オンラインとして扱われます。そうでなければ、彼はオフラインです。

実際にその静的ファイル構造を保持したい場合は、DOMDocument php拡張子を使用してページ内の静的ファイルのDOMを解析し、削除するエントリを見つけることができます。

+0

.htmlファイルは、Webサイトのオンラインユーザーのリストの.htmlとして使用されます。そのため、各エントリには色の定義があります。 –

関連する問題