Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中写入文件开头的数据?_Php_Append_File Pointer - Fatal编程技术网

如何在php中写入文件开头的数据?

如何在php中写入文件开头的数据?,php,append,file-pointer,Php,Append,File Pointer,可能重复: 我正在尝试创建一个日志文件。但我想在文件的开头插入数据。我读过许多解答,但其中许多给出了以下解答 ->以附加模式打开文件 ->复制变量中的整个数据 ->用临时变量连接数据 ->重写整个文件 我已经访问并阅读了以下链接。 如果我的日志文件大约为50到85MB,我认为这个过程非常耗时 我是否可以在文件开头移动文件指针,然后插入数据保存该文件 我需要一些优化的方法,它可以为我工作。不,您不能将新数据粘贴在文件的开头。你的选择是: 打开新文件,写入新数据,然后将旧文件追加到新文件 打开原

可能重复:

我正在尝试创建一个日志文件。但我想在文件的开头插入数据。我读过许多解答,但其中许多给出了以下解答

->以附加模式打开文件
->复制变量中的整个数据
->用临时变量连接数据
->重写整个文件

我已经访问并阅读了以下链接。

如果我的日志文件大约为50到85MB,我认为这个过程非常耗时

我是否可以在文件开头移动文件指针,然后插入数据保存该文件


我需要一些优化的方法,它可以为我工作。

不,您不能将新数据粘贴在文件的开头。你的选择是:

  • 打开新文件,写入新数据,然后将旧文件追加到新文件
  • 打开原始文件,将旧数据“向下”复制到文件中,然后覆盖文件的开头

  • 你有什么理由需要在文件开头记录事情吗?只读取文件的最后一部分是很简单的。

    如果文件不是很大,并且您有足够的PHP内存。。下面是一个帮助您的快速PHP:

    $toAdd = 'Text to add in beginning';
    $file = '/path/to/your/file';
    $temp = file_get_contents($file);
    file_put_contents($file, $toAdd . $temp);
    

    使用内存中的临时值。不适合大数据。编辑了我的答案。我只是想让询问者的生活变得轻松?