第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

PHP:可以附加到文件,但不能正確回顯文件內容

PHP:可以附加到文件,但不能正確回顯文件內容

PHP
萬千封印 2022-09-17 15:27:54
我正在嘗試創(chuàng)建一個本地txt文件,在里面寫一些文本,關閉它,讀取并返回其內容,然后附加更多的文本,最后,再次閱讀它并回顯內容。<?php    $file = "test.txt";    $fileHandler = fopen($file, "w") or die("Could not write to file!");    fwrite($fileHandler, "This is my first message <br>");    fwrite($fileHandler, "This is my second message <br>");    fclose($fileHandler);    $fileHandler = fopen($file, "r") or die("Could not read file!");;    $contents = fread($fileHandler, filesize($file));    fclose($fileHandler);    echo $contents;    echo "<br>";    echo "FileSize after first write: " . filesize($file);    echo "<br>";    echo "<hr>";    $fileHandler = fopen($file, "a") or die("Could not append to file!");    fwrite($fileHandler, "This is my third message <br>");    fclose($fileHandler);    $fileHandler = fopen($file, "r") or die("Could not read file!");;    $contents = fread($fileHandler, filesize($file));    fclose($fileHandler);    echo $contents;    echo "<br>";    echo "FileSize after append: " . filesize($file);    echo "<br>";一切都按預期工作,所有消息都寫入文件,但問題出在回聲上。我期待看到這樣的東西:This is my test messageThis is my second test messageFileSize after first write: 63-----------------------------------------------------------------This is my test messageThis is my second test messageThis is my third test messageFileSize after append: 97但我得到以下回聲:This is my test messageThis is my second test messageFileSize after first write: 63--------------------------------------------------------------------This is my test messageThis is my second test messageFileSize after append: 63我不知道這里的問題是什么...任何幫助將不勝感激!!!!
查看完整描述

3 回答

?
慕仙森

TA貢獻1827條經(jīng)驗 獲得超8個贊

文件大?。ǎ?/code> 的文檔頁面中

注意:此函數(shù)的結果將被緩存。有關更多詳細信息,請參閱清除統(tǒng)計緩存()。

因此,您必須在編寫新內容后清除緩存:

 $fileHandler = fopen($file, "a") or die("Could not append to file!");

 fwrite($fileHandler, "This is my third message <br>");

 fclose($fileHandler);

 clearstatcache();


查看完整回答
反對 回復 2022-09-17
?
Helenr

TA貢獻1780條經(jīng)驗 獲得超4個贊

首先,用于以讀+寫模式打開文件,這意味著它與您的問題無關。然后,正如在其他 anwers 中已經(jīng)提到的,該函數(shù)被緩存,您需要使用才能看到更改。a+filesize()clearstatcache()


作為 + + 的替代方法,您可以使用組合了 3 個函數(shù)的函數(shù)。fopen()fwrite()fclose()file_put_contents()


例:


    $file = __DIR__.'/test.txt';


    // First we call the function without second parameter

    file_put_contents($file, 'This is my first message'.PHP_EOL);

    // Following calls use the second parameter with FILE_APPEND`

    file_put_contents($file, 'This is my second message'.PHP_EOL, FILE_APPEND);


    echo file_get_contents($file);

    echo PHP_EOL.'FileSize after first write: ' . filesize($file) . ' bytes' . PHP_EOL;

    clearstatcache();

    echo '-----------------------'.PHP_EOL;


    file_put_contents($file, 'This is my third message'.PHP_EOL, FILE_APPEND);

    echo file_get_contents($file);

    echo PHP_EOL.'FileSize after append: ' . filesize($file) . ' bytes' . PHP_EOL;

輸出:


This is my first message

This is my second message


FileSize after first write: 51 bytes

-----------------------

This is my first message

This is my second message

This is my third message


FileSize after append: 76 bytes

`


查看完整回答
反對 回復 2022-09-17
?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

每當您寫入或讀取文件時,PHP 都會緩存更改。所以你必須清除緩存,你可以使用這個函數(shù)來清除PHP緩存的關于文件的信息。clearstatcache()

在這里閱讀更多內容,請 https://www.php.net/manual/en/function.clearstatcache


查看完整回答
反對 回復 2022-09-17
  • 3 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號