Gå til innhold

Filredigering i php - hvilken metode er best?


Anbefalte innlegg

Jeg skal åpne et tekstdokument som skal redigeres ved hjelp av PHP. Det er bestemte strenger i dokumentet som skal byttes ut med egenvalgte.

F.eks inneholder dokumentet "<KEYWORD1>" som jeg vil bytte ut med "Strengen min"

 

Deretter vil jeg lagre filen til en ny fil med nytt navn.

 

Det finnes sikkert drøssevis av metoder å gjøre dette på - og jeg hadde sikkert klart det med litt lesing, men poenget er at jeg vil gjøre det riktig. Dvs, på den raskeste og mest effektive måten (for serveren).

 

Er fopen() det beste? Så str_replace() på hele greien fopen leser inn? Kanskje det finnes alternative funksjoner til str_replace som er spesielt beregnet til filbehandling?

 

Noen som har tips?

Endret av Lurifaksen
Lenke til kommentar
Videoannonse
Annonse

Er det ikke bare å bruke file_get_contents()? Så bruker du str_replace på stringen som blir hentet ut. Kan sette opp et enkelt eksempel på hvordan jeg forestiller meg det:

 

Skjult tekst: (Marker innholdet i feltet for å se teksten):

<?php

$filnavn = "eksempelfil.txt";
$fil = fopen($filnavn, "r");
$fil_innhold = file_get_contents($fil);
$fil_innhold = str_replace("gammelt ord", "nytt ord", $fil_innhold);
fclose($fil);

?>

 

Så etter du har byttet om alle ordene du vil i innholdet, kan du skrive over det som ligger lagret allerede slik at den nye strengen blir lagret istedenfor den gamle.

Lenke til kommentar

Takk for svar.

 

I det scriptet der bruker du to forskjellige måter å lese inn filen... dvs, fopen er ikke nødvendig, og file_get_contents skal ha filnavn som argument.

 

Men spørsmålet er da - hvilken måte er best av de to?

 

Og dersom jeg har f.eks. 50 forskjellige ord som skal byttes ut. Vil det da være hensiktsmessig å kjøre 50 str_replace? Er det andre funksjoner som passer bedre til en "mass replace"?

Lenke til kommentar
Og dersom jeg har f.eks. 50 forskjellige ord som skal byttes ut. Vil det da være hensiktsmessig å kjøre 50 str_replace? Er det andre funksjoner som passer bedre til en "mass replace"?

6676820[/snapback]

 

str_replace tar array som argument, det betyr at du kun trenger å kjøre en str_replce selv om du har mange forskjellige ord.

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...