| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Hvilken værdi har tom linie? Fra : Christer Rasmussen | 
  Dato :  08-09-02 14:58 |  
  |   
            Jeg har en .txt fil med følgende indhold. (complete.txt)
 *** Fil start ***
 Track: Monza             Thu Sep 05 21:51:34 2002
 
 PRACTICE TIMES
 
 Pos No Driver                           Team     Nat      Time
  1   3 Torben                 Ferrari  USA 1m28.181s
  2  15 Flemming                 Lotus    DEN 1m28.475s
  3  17 Henning                  Eagle    DEN 1m28.786s
 
 All times are official
 
 RACE RESULT
 
 Pos No Driver                           Team     Nat      Time      Laps
  1   3 Torben                 Ferrari  USA 33m24.181s             17
  2  15 Flemming                 Lotus    DEN 33m25.475s      17
  3  17 Henning                  Eagle    DEN 34m18.746s      17
 
 All times are official
 *** Fil slut ***
 
 Jeg skal have nogle af informationerne fra de 3 (Kan være flere alt efter
 antal deltagere) linier med resultatet af løbet lagt ind i en database.
 
 og indtil vidre har jeg følgende kode.
 
 <?
 $fd = fopen ("complete.txt", "r");
 while (!feof ($fd)) {
     $buffer = fgets($fd, 4096);        //Henter en linie
     $pos = strpos($buffer, "Pos");    //Ser om linien indeholder "Pos"
         if ($pos === false) {            //Hvis "Pos" ikke findes skal der
 ikke ske noget (while lykken læser næste linie)
         } else {                                //Hvis linie indeholder
 "Pos" skal der ske noget
             $driverpos = strpos($buffer, "Driver");  //hvor starter Driver
 Navn
             $teampos = strpos($buffer, "Team");   //hvor starter Team Navn
             $natpos = strpos($buffer, "Nat");        //hvor starter Nat
             while ($buffer = fgets($fd, 4096) NOT EQUAL "tom") {   //Det er
 så her jeg har problemet. LÆS under koden.
                  $name = trim(substr($buffer, $driverpos,
 ($teampos-$driverpos)));        //klip Navnet ud af linien som herefter kan
 puttes i database.
             }
         }
 }
 fclose ($fd);
 ?>
 
 LÆS her. lykken skal gentages indtil der kommer en tom linie (Linien under
 Henning). hvorefter den første while køre videre til den kommer til "Pos"
 efter RACE RESULT og denne while køre igen.
 Hvad er indholdet af $buffer når linien er tom?
 
 Mvh
 Christer
 
 
 
  
            
             |   |   
            
        
 
            
         
           Niels Andersen (08-09-2002) 
         
	
            | Kommentar Fra : Niels Andersen | 
  Dato :  08-09-02 16:08 |  
  |   
            Christer Rasmussen wrote in <alfl2f$2m0r$1@news.cybercity.dk>:
 >     $buffer = fgets($fd, 4096);        //Henter en linie
 [...]
 > Hvad er indholdet af $buffer når linien er tom?
 
 Et linjeskift. Dvs. "\n" eller "\r\n", alt efter om det er Unix eller 
 Windows linjeskift.
 
 Du kan evt. køre trim() på den. Den fjerne alt "white-space" (linjeskift, 
 mellemrum, tabulator...) først og sidst på linjen.
 
 Dvs.:
 
 '   test
 '
 
 (altså med linjeskift til sidst) bliver til:
 
 'test'
 
 og en tom linje (altså kun et linje skift) bliver til '', altså en helt tom 
 streng.
 
 -- 
 Mvh.
 
 Niels Andersen
 (la nels. anersyn.)
  
            
             |   |   
            
        
 
            
         
           Christer Rasmussen (08-09-2002) 
         
	
            | Kommentar Fra : Christer Rasmussen | 
  Dato :  08-09-02 18:13 |  
  |   
            Tak for det, det virkede.
 
 
 "Niels Andersen"
 > Christer Rasmussen wrote in <alfl2f$2m0r$1@news.cybercity.dk>:
 > >     $buffer = fgets($fd, 4096);        //Henter en linie
 > [...]
 > > Hvad er indholdet af $buffer når linien er tom?
 >
 > Et linjeskift. Dvs. "\n" eller "\r\n", alt efter om det er Unix eller
 > Windows linjeskift.
 >
 > Du kan evt. køre trim() på den. Den fjerne alt "white-space" (linjeskift,
 > mellemrum, tabulator...) først og sidst på linjen.
 >
 > Dvs.:
 >
 > '   test
 > '
 >
 > (altså med linjeskift til sidst) bliver til:
 >
 > 'test'
 >
 > og en tom linje (altså kun et linje skift) bliver til '', altså en helt
 tom
 > streng.
 >
 > --
 > Mvh.
 >
 > Niels Andersen
 > (la nels. anersyn.)
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |