<tfoot id='MoDRc'></tfoot>

      • <bdo id='MoDRc'></bdo><ul id='MoDRc'></ul>

      <i id='MoDRc'><tr id='MoDRc'><dt id='MoDRc'><q id='MoDRc'><span id='MoDRc'><b id='MoDRc'><form id='MoDRc'><ins id='MoDRc'></ins><ul id='MoDRc'></ul><sub id='MoDRc'></sub></form><legend id='MoDRc'></legend><bdo id='MoDRc'><pre id='MoDRc'><center id='MoDRc'></center></pre></bdo></b><th id='MoDRc'></th></span></q></dt></tr></i><div id='MoDRc'><tfoot id='MoDRc'></tfoot><dl id='MoDRc'><fieldset id='MoDRc'></fieldset></dl></div>
    1. <small id='MoDRc'></small><noframes id='MoDRc'>

      1. <legend id='MoDRc'><style id='MoDRc'><dir id='MoDRc'><q id='MoDRc'></q></dir></style></legend>
      2. 使用php,如何插入文本而不覆盖文本文件的开头

        Using php, how to insert text without overwriting to the beginning of a text file(使用php,如何插入文本而不覆盖文本文件的开头)
          <tbody id='5cxC7'></tbody>

        <tfoot id='5cxC7'></tfoot>
        <i id='5cxC7'><tr id='5cxC7'><dt id='5cxC7'><q id='5cxC7'><span id='5cxC7'><b id='5cxC7'><form id='5cxC7'><ins id='5cxC7'></ins><ul id='5cxC7'></ul><sub id='5cxC7'></sub></form><legend id='5cxC7'></legend><bdo id='5cxC7'><pre id='5cxC7'><center id='5cxC7'></center></pre></bdo></b><th id='5cxC7'></th></span></q></dt></tr></i><div id='5cxC7'><tfoot id='5cxC7'></tfoot><dl id='5cxC7'><fieldset id='5cxC7'></fieldset></dl></div>
          • <bdo id='5cxC7'></bdo><ul id='5cxC7'></ul>

            <small id='5cxC7'></small><noframes id='5cxC7'>

                • <legend id='5cxC7'><style id='5cxC7'><dir id='5cxC7'><q id='5cxC7'></q></dir></style></legend>

                  本文介绍了使用php,如何插入文本而不覆盖文本文件的开头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有:

                  <?php
                  
                  $file=fopen(date("Y-m-d").".txt","r+") or exit("Unable to open file!");
                  
                  if ($_POST["lastname"] <> "")
                  {
                     fwrite($file,$_POST["lastname"]."
                  ");
                  }
                  
                  fclose($file);
                  
                  ?>
                  

                  但它会覆盖文件的开头.如何让它插入?

                  but it overwrites the beginning of the file. How do I make it insert?

                  推荐答案

                  我不完全确定您的问题 - 您是要写入数据并且不让它覆盖现有文件的开头,还是写入新文件数据到现有文件的开头,在其后保留现有内容?

                  I'm not entirely sure of your question - do you want to write data and not have it over-write the beginning of an existing file, or write new data to the start of an existing file, keeping the existing content after it?

                  要插入文本而不覆盖文件的开头,您必须打开它以进行附加 (a+ 而不是 r+)

                  To insert text without over-writing the beginning of the file, you'll have to open it for appending (a+ rather than r+)

                  $file=fopen(date("Y-m-d").".txt","a+") or exit("Unable to open file!");
                  
                  if ($_POST["lastname"] <> "")
                  {
                     fwrite($file,$_POST["lastname"]."
                  ");
                  }
                  
                  fclose($file);
                  

                  如果您尝试写入文件的开头,则必须读入文件内容(请参阅 file_get_contents),然后将新字符串和文件内容写入输出文件.

                  If you're trying to write to the start of the file, you'll have to read in the file contents (see file_get_contents) first, then write your new string followed by file contents to the output file.

                  $old_content = file_get_contents($file);
                  fwrite($file, $new_content."
                  ".$old_content);
                  

                  上述方法适用于小文件,但您可能会在尝试使用 file_get_conents 读取大文件时遇到内存限制.在这种情况下,请考虑使用 rewind($file),它设置文件文件流开头句柄的位置指示器.注意使用rewind()时,不要用a(或a+)选项打开文件,如:

                  The above approach will work with small files, but you may run into memory limits trying to read a large file in using file_get_conents. In this case, consider using rewind($file), which sets the file position indicator for handle to the beginning of the file stream. Note when using rewind(), not to open the file with the a (or a+) options, as:

                  如果您以追加(a"或a+")模式打开文件,则无论文件位置如何,您写入文件的任何数据都将始终被追加.

                  If you have opened the file in append ("a" or "a+") mode, any data you write to the file will always be appended, regardless of the file position.

                  这篇关于使用php,如何插入文本而不覆盖文本文件的开头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Laravel 4 - Connect to other database(Laravel 4 - 连接到其他数据库)
                  Call external API function from controller, LARAVEL 4(从控制器调用外部 API 函数,LARAVEL 4)
                  Empty string instead of null values Eloquent(空字符串而不是空值 Eloquent)
                  quot;laravel.logquot; could not be opened: failed to open stream(“laravel.log无法打开:无法打开流)
                  Displaying the Error Messages in Laravel after being Redirected from controller(从控制器重定向后在 Laravel 中显示错误消息)
                  Laravel Creating Dynamic Routes to controllers from Mysql database(Laravel 从 Mysql 数据库创建到控制器的动态路由)

                  <tfoot id='TAdFq'></tfoot>
                    <tbody id='TAdFq'></tbody>
                    <bdo id='TAdFq'></bdo><ul id='TAdFq'></ul>

                        1. <i id='TAdFq'><tr id='TAdFq'><dt id='TAdFq'><q id='TAdFq'><span id='TAdFq'><b id='TAdFq'><form id='TAdFq'><ins id='TAdFq'></ins><ul id='TAdFq'></ul><sub id='TAdFq'></sub></form><legend id='TAdFq'></legend><bdo id='TAdFq'><pre id='TAdFq'><center id='TAdFq'></center></pre></bdo></b><th id='TAdFq'></th></span></q></dt></tr></i><div id='TAdFq'><tfoot id='TAdFq'></tfoot><dl id='TAdFq'><fieldset id='TAdFq'></fieldset></dl></div>

                          <small id='TAdFq'></small><noframes id='TAdFq'>

                            <legend id='TAdFq'><style id='TAdFq'><dir id='TAdFq'><q id='TAdFq'></q></dir></style></legend>