簡體   English   中英

如何使用給定的唯一ID而不是行號讀取特定文件行

[英]How do i read a particular file line using a giving unique id not the line number

我正在嘗試根據選定的消息刪除用戶聊天,但是我不知道如何在不使用行號的情況下讀取該行,因為我使用php文件存儲了聊天對話以確保安全,而且我還在該行的第一行添加了一個php代碼每個包含聊天的php文件,以防止直接訪問。

我有一個文件名conversation.php

 lineid  | user | message | deleted
---------|------|---------|-----------
100      | joe  | HI      | NO
101      | pee  | Hello   | NO
103      | kik  | Hmm     | NO

這是我的代碼

<?php
    if(isset($_POST['deletechatroomid']) && isset($_POST['messageline'])){
    $chatsession = xss_protextion("char", $_POST['deletechatroomid']); /*Chat Path ID*/
    $messageline = xss_protextion("int", $_POST['messageline']); /*Chat Line ID*/

    $filePathname = dirname(__FILE__).'/chatlogs/'.$chatsession.'/conversation.php'; /*FULL FILE PATH*/


    /*
   I know that i i can identify the line number below code will get it for me but i don't want to use it because the it might delete another chat if mistak line id
   $getDeleteLine = file( $filePathname ); 
    echo $getDeleteLine[67];
   */
    }
    ?>

我可以使用每個聊天行的唯一ID來僅讀取該行嗎?

是的,您必須處理整個文件以檢索您要查找的ID。

唯一的其他解決方案是一些外部存儲,該存儲可以為您提供ID中的行號。 這將被稱為數據庫世界中的索引,在您的情況下,@ Patrick Q在上述注釋中的建議在您的情況下非常有意義:在您的用例中,最好使用數據庫而不是文本文件。 SQLite是輕量級的,請嘗試一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM