If the file is of a reasonable size (not hundreds of kilobytes), then you 
can just slurp it all into an array and foreach through it:

  $matched = 0;
  $myfile = file('/usr/home/crud/myfile');
  foreach ($myfile as $line)
  {
    $split_line = explode(':', $line);
    if ($split_line[1] == 'bob')
    {
      echo '<p>Got a match!</p>';
      $matched = 1;
      break;
    }
  }
  if (!$matched)
    echo '<p>Username not found.</p>';

If it's larger, you're doing it an awful lot, or your server is 
resource-cramped, you'd probably want to fopen() it and loop over fgets() 
so you don't have to read in any more than necessary.

miguel

On Fri, 7 Jun 2002, Tom Ray wrote:
> ok I believe I follow you on that, I will give that a try. But the 
> question I have now is how do I loop that request?
> 
> Gaylen Fraley wrote:
> 
> >Use the explode() function based on the colon.  Then parse the 2nd array
> >element for the username that you want.  If matched, display all elements in
> >that array row.  Conversely you could use the implode() to reassemble the
> >array row.
> >
> >(Assume $file_row is the row name that you have assigned)
> >
> >/* your code to loop through the file goes here */
> >$your_array = explode(":",$file_row);
> >/* remember that arrays start with element 0 */
> >if ($your_array[1]) == "some name" {
> >    /* routine to display entire row */
> >}
> >/* continue processing loop */
> >
> >--
> >Gaylen
> >PHP KISGB v4.0.5 Guest Book http://www.gaylenandmargie.com/phpwebsite/
> >
> >"Tom Ray" <[EMAIL PROTECTED]> wrote in message
> >[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> >  
> >
> >>I want to be able to search a flat file line by line looking for data
> >>such as a username then display all the information in that line. Is
> >>there some way to search the following format:
> >>
> >>record1:username:info:info:info
> >>record2:username:info:info:info
> >>record3:username:info:info:info
> >>
> >>
> >>So if someone submits the username in record two for the search I want
> >>it to stop at record two and then display that information...
> >>
> >>any suggestions?
> >>
> >>    
> >>
> >
> >
> >
> >  
> >
> 
> 
> 
> 


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

Reply via email to