Gå til innhold

Finne $i i flat fil.


Anbefalte innlegg

Hei,

har sittet å tenkt litt nå og har kommet frem til denne koden her;

 

<?PHP


$fc  =  file("sql.sql");
$f   =  fopen("sql.sql" , "w");
$i   =  10;
$x   =  72;

foreach($fc as $line) {


 if(preg_match( $i , $line )) {
   
   $i++;  // OLD
   $x++;  // NEW

   $NewLine = str_replace( $i , $x , $line);
   fputs( $f , $NewLine );

 } else {
     
   $i++;  // OLD
   $x++;  // NEW
  
   if(preg_match( $i , $line )) {

     $NewLine = str_replace( $i , $x , $line);
     fputs( $f , $NewLine );

   }

 }

}

fclose($f);

?>

Poenget med denne koden er att den skal finne $i på linjen, og bytte den ut med $x og legge det tilbake i filen. Og hvis den ikke finner $i, så skal den lete etter $i++ og bytte den ut med $x++ :p

Hvis noen skjønte noe av det.

 

Så, ja, jeg trenger litt hjelp til å fullføre den ...

Endret av wacie
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132
Hei,

har sittet å tenkt litt nå og har kommet frem til denne koden her;

 

...

Poenget med denne koden er att den skal finne $i på linjen, og bytte den ut med $x og legge det tilbake i filen. Og hvis den ikke finner $i, så skal den lete etter $i++ og bytte den ut med $x++ :p

Hvis noen skjønte noe av det.

 

Så, ja, jeg trenger litt hjelp til å fullføre den ...

Uhm, den tok jeg ikke helt. Nøyaktig hva skal dette være godt for?

Lenke til kommentar

Det var ikke lett å forstå ut fra den beskrivelsen.

 

Er poenget det at du har en fil, som inneholder mye tekst og der i blandt så kan den f.eks. inneholde tallet 10. I så fall så skal den bytte ut tallet 10 med 72. Dersom den ikke inneholder 10, så skal den lete etter 11 og så eventuelt bytte ut dette med 73?

 

Ut fra den lille beskrivelsen din så kan du å så fall løse det på ca. følgende måte:

 

$innhold = file_get_contents("path/to/file.php");

$innhold = str_replace("10", "72", $innhold);

$innhold = str_replace("11", "73", $innhold);

 

Den tar ikke hensyn til om 10 er der så skal ikke 11 byttes, men bytter ut 11 uansett. Om dette er viktig så er det ikke noe problem å rette det.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...