On Thu, Jul 11, 2002 at 02:11:30PM +1000, Martin Towell wrote:
>> From: Chris Earle [mailto:[EMAIL PROTECTED]]
>> 
>> I was wondering if there was a function that would allow me to "jump" 
>> to a certain line if a file and then write from there?  I'm searching 
>> php.net without any luck :(.
>
> I dodn't know of any single function that does what you want, but you can do
> this:
> 
> $contents = file($filename);  // each line has it's own array position
> $contents[$line] = $newline;

That's nice, except you could start overwriting existing data.

If you're only interested in appending to the end of a file, then use 
   $fp = fopen('filename', 'a+');
and fputs() all you want.

But, if you want to stick stuff into the middle...

   #  Real process uses file(),
   #  but for test, set Content manually.
   $Content[] = 'The start of the content array.';
   $Content[] = 'Some more stuff.';
   $Content[] = 'And yet more stuff.';

   $Location = array_search('Some more stuff.', $Content);

   $New[] = 'Why, here is some new stuff';

   $Final = array_merge(
      array_slice($Content, 0, $Location + 1),
      $New,
      array_slice($Content, 0 - (count($Content) - $Location - 1))
   );   

   #  In your process, you'll really want to insert
   #  implode('', $Final)  into the file with fputs(),
   #  but, hey, this is a demonstration.
   print_r($Final);


--Dan

-- 
               PHP classes that make web design easier
        SQL Solution  |   Layout Solution   |  Form Solution
    sqlsolution.info  | layoutsolution.info |  formsolution.info
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
 4015 7 Av #4AJ, Brooklyn NY     v: 718-854-0335     f: 718-854-0409

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to