まず、テキストファイルを開き、最初の行を取得してファイルから削除し、残りのファイルを保存する関数を持っています。返された行を返すためにreturn文を使用する場合を除いて、すべてが正常に機能しています。 return文を使用すると、なんらかの理由でファイルがクリアされます。 return文を削除すると、関数はそれが何をするかを行います。私はこれがPHPのバグか、ここに隠れた何かが私が見ていないかどうか議論しています。コードの一部を以下に示します。どんなヘルプも非常に高く評価されます。return文を使用するとPHPのテキストファイルがクリアされる
ありがとうございます!
$nlines = array();
$lines = file(CACHE_PATH."/test.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$link = $lines[0];
$lcount = count($lines)-1;
for($i=1; $i < $lcount; $i++)
{
$nlines[] = $lines[$i];
}
$file = fopen(CACHE_PATH."/test.txt", 'w');
for($i=0; $i <= $lcount; $i++)
{
fwrite($file, $nlines[$i]);
}
fclose($file);
return $link;
問題を示す最小のテストケースを作成できますか? –
'$ nlines'に' count($ lines)-2'要素を追加しているに過ぎませんが、 'count($ lines)'要素を読み込もうとしていますか? –
も参照してください。http://stackoverflow.com/questions/2404707/php-efficent-way-to-get-and-remove-first-line-in-file – JRL