Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Need to write at beginning of file with PHP

Tags:

file

php

append

I'm making this program and I'm trying to find out how to write data to the beginning of a file rather than the end. "a"/append only writes to the end, how can I make it write to the beginning? Because "r+" does it but overwrites the previous data.

$datab = fopen('database.txt', "r+"); 

Here is my whole file:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>     <head>         <title>Facebook v0.1</title>         <style type="text/css">             #bod{                 margin:0 auto;                 width:800px;                 border:solid 2px black;             }         </style>     </head>      <body>         <div id="bod">             <?php                 $fname = $_REQUEST['fname'];                 $lname = $_REQUEST['lname'];                 $comment = $_REQUEST['comment'];                 $datab = $_REQUEST['datab'];                 $gfile = $_REQUEST['gfile'];                  print <<<form                 <table border="2" style="margin:0 auto;">                     <td>                         <form method="post"  action="">                               First Name :                               <input type ="text"                                          name="fname"                                          value="">                               <br>                                Last Name :                                 <input type ="text"                                          name="lname"                                          value="">                               <br>                                Comment :                               <input type ="text"                                          name="comment"                                          value="">                               <br>                               <input type ="submit" value="Submit">                         </form>                     </td>                 </table>                 form;                 if((!empty($fname)) && (!empty($lname)) && (!empty($comment))){                     $form = <<<come                      <table border='2' width='300px' style="margin:0 auto;">                         <tr>                             <td>                                 <span style="color:blue; font-weight:bold;">                                 $fname $lname :                                 </span>                                  $comment                             </td>                         </tr>                     </table>                     come;                      $datab = fopen('database.txt', "r+");                     fputs($datab, $form);                     fclose($datab);                  }else if((empty($fname)) && (empty($lname)) && (empty($comment))){                     print" please input data";                 } // end table                  $datab = fopen('database.txt', "r");                  while (!feof($datab)){                     $gfile = fgets($datab);                     print "$gfile";                 }// end of while             ?>         </div>     </body> </html> 
like image 424
Timothy Avatar asked Nov 19 '09 02:11

Timothy


People also ask

How do you write to a file in PHP?

PHP Write to File - fwrite() The fwrite() function is used to write to a file. The first parameter of fwrite() contains the name of the file to write to and the second parameter is the string to be written.

How do I make the first line of a file read only in PHP?

If you ABSOLUTELY know the file exists, you can use a one-liner: $line = fgets(fopen($file, 'r')); The reason is that PHP implements RAII for resources. That means that when the file handle goes out of scope (which happens immediately after the call to fgets in this case), it will be closed.

How do I overwrite a file in PHP?

'w' Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it. 'w+' Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length.

What is the use of File_get_contents in PHP?

The file_get_contents() reads a file into a string. This function is the preferred way to read the contents of a file into a string. It will use memory mapping techniques, if this is supported by the server, to enhance performance.


1 Answers

The quick and dirty:

<?php $file_data = "Stuff you want to add\n"; $file_data .= file_get_contents('database.txt'); file_put_contents('database.txt', $file_data); ?> 
like image 137
Ben Regenspan Avatar answered Sep 20 '22 18:09

Ben Regenspan