用PHP語言讓顯示出來的紀錄寫到txt檔

目前小弟想用一支php聊天室程式

將畫面的文字

依照20060101.txt時間的格式存成TXT檔案

為了往後能夠查詢紀錄之用

我會設計輸入指令即可存檔,但不需輸入時間當檔案名,由程式自動加上時間當檔名

小弟問題出在要如何建立一個新的TXT,語法如何下??

還有檔案屬性,像是w為寫入r為讀取,那麼我比較不清楚的是wb跟rb是????

已更新項目:

那現在如果要一值新增加檔案(TXT)的話,那麼檔案名稱是否可以這樣寫

$filename=$time.txt

fopen($filename, 'x+')

2 個已更新項目:

大大可回的真快,呵呵....,我貼一下我的想法,不知道有沒有錯

$file=fopen("chat.dat",'rb');

$rs=readfile("chat.dat");

$filenames = date('Ymd').'.txt';

$fp=fopen("$filenames", 'x+');

fwrite($fp,$rs);

fclose($filename);

fclose(chat.dat);

3 個已更新項目:

檔案位置我想用相對路徑,因為是跨平台的關係

構想是將一個檔案依照我的指令寫到另一個TXT檔案

1 個解答

評分
  • 2 0 年前
    最佳解答

    先解釋b和t的差別b是binary-mode的flag 二進位檔的標誌t是text-mode的flag 非二進位檔的標誌不過這個只有在windows上才有用原文"

    Windows offers a text-mode translation flag ('t')

    which will transparently translate \n to

    \r\n when working with the file. In contrast, you

    can also use 'b' to force binary mode, which will not

    translate your data. To use these flags, specify either

    'b' or 't' as the last character

    of the mode parameter."至於w就是清空寫入 r是讀取 a是接在後面寫入 還有一個x是限制新檔案寫入w、r、a、x後面都可以加上"+",這樣又變成可讀可寫原文http://tw2.php.net/manual/en/function.fopen.php%E4...

    <?php

    $filename = 'test.txt';

    $somecontent = "Add this to the file\n";

    // Let's make sure the file exists and is writable first.

    if (is_writable($filename)) {

       // In our example we're opening $filename in append mode.

       // The file pointer is at the bottom of the file hence

       // that's where $somecontent will go when we fwrite() it.

       if (!$handle = fopen($filename, 'a')) {

             echo "Cannot open file ($filename)";

             exit;

       }

       // Write $somecontent to our opened file.

       if (fwrite($handle, $somecontent) === FALSE) {

           echo "Cannot write to file ($filename)";

           exit;

       }

      

       echo "Success, wrote ($somecontent) to file ($filename)";

      

       fclose($handle);

    } else {

       echo "The file $filename is not writable";

    }

    ?>

    2006-02-07 20:58:26 補充:

    居然超出兩千字

    $filename = date('Ymd').".txt";

    2006-02-07 21:08:19 補充:

    最好不要用x

    你的狀況用a是最好的了

還有問題?馬上發問,尋求解答。