Php 我想删除txt文件中的一行

Php 我想删除txt文件中的一行,php,Php,我用PHP读txt文件,我读了第一行,没问题。 但是当我想删除第一行时。 它失败了 我可以在localhost中执行此代码,但在服务器中启动时 它失败了…我不知道为什么 这是我的代码: <?php $handle = fopen('newfile.txt', "r"); $contents = ''; if ($handle) { while (!feof($handle)) { $contents = fge

我用
PHP
txt
文件,我读了第一行,没问题。
但是当我想删除第一行时。
它失败了

我可以在localhost中执行此代码,但在服务器中启动时 它失败了…我不知道为什么

这是我的代码:

        <?php
    $handle = fopen('newfile.txt', "r");
    $contents = '';
    if ($handle) {
        while (!feof($handle)) {
            $contents = fgets($handle, 10);
            echo $contents;

            $filename = 'newfile.txt';
            $content = file_get_contents('newfile.txt');
            $content = str_replace($contents, '', $content);
            file_put_contents('newfile.txt', $content);
            exit;
        }
        fclose($handle);
    }
    ?>

上述复杂代码(顺便说一句,我没有检查)的另一种选择可能是

$file='newfile.txt';
$lines=file( $file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
array_shift( $lines );
file_put_contents( $file, implode( PHP_EOL, $lines ) );
如果显示要删除的行很重要,则:

$file='newfile.txt';
$lines=file( $file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );

$sentence = array_shift( $lines );
echo $sentence;

file_put_contents( $file, implode( PHP_EOL, $lines ) );

它总是失败。怎么做?是的,什么意思是“总是失败”。我试过你的代码,效果很好?Andreas MorganFreeFarm失败了,我编辑@解語花 不,这段代码中没有错误,我尝试使用4行的
.txt
文件,它总是删除第一行。请明确说明:您的逻辑是如何失败的?代码删除
newfile.txt
中文本的前9个字符(即不是第一行字符)。如果这不是你想要的结果;那到底是什么呢?