-1

代码执行后我的文件如下所示:

1.info
2.
3.info
4.
5.info
....

我在 fopen 中尝试了不同的模式,但仍然相同。

<?php

$file = 'data.txt';
$lines = file($file);

$newArr = array();
$f = fopen($file,'r+');
foreach($lines as $value){
    $newArr[] = $value;
}
    unset($newArr[$_GET['id']-1]);

foreach($newArr as $vv){
    fwrite($f, $vv.PHP_EOL);
}

fclose($f);

?>
4

1 回答 1

0

看来这是相同的并且应该可以工作:

$file  = 'data.txt';
$lines = file($file, FILE_SKIP_EMPTY_LINES);

unset($lines[$_GET['id']-1]);

file_put_contents($file, $lines);

无论出于何种原因使用 fwrite():

$file  = 'data.txt';
$lines = file($file, FILE_SKIP_EMPTY_LINES);

unset($lines[$_GET['id']-1]);

$f = fopen($file, 'w');
fwrite($f, implode($lines));

/*
foreach($lines as $vv) {
    fwrite($f, $vv);
}
*/
于 2013-11-05T18:47:15.483 回答