/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Slette bestemt linje i *.TXT-fil
Fra : Niels


Dato : 09-12-04 06:46

Hvordan sletter jeg en bestemt linje i en textfil.

Please, er der ikke nogen der vil hjælpe mig?

--
Mvh. Niels (http://niels.spoweb.dk)
http://niels.spoweb.dk/noop - Søgemaskine



 
 
Peter Brodersen (09-12-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-12-04 14:32

On Thu, 9 Dec 2004 06:45:46 +0100, "Niels" <niels@spoweb.dk> wrote:

>Hvordan sletter jeg en bestemt linje i en textfil.
>
>Please, er der ikke nogen der vil hjælpe mig?

Indlæs hele filen, slet linjen, og gem den igen :)

Du kan for eksempel bruge funktionen file() til at indlæse filen i et
array, linje for linje, og således fjerne det aktuelle element.

<?php
$filename = "filnavn.txt";
$lines = file($filename);
unset($lines[5]); // fjerner linje 6 (første linje er $lines[0])
file_put_contents($filename,$lines);
?>

file_put_contents() kræver PHP5, men kan let erstattes af
fopen()/fwrite()/fclose(), hvis man kører PHP4.

--
- Peter Brodersen

Niels (09-12-2004)
Kommentar
Fra : Niels


Dato : 09-12-04 14:48


"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:cp9k4b$i1m$1@katie.ellegaard.dk...
> On Thu, 9 Dec 2004 06:45:46 +0100, "Niels" <niels@spoweb.dk> wrote:
>
>>Hvordan sletter jeg en bestemt linje i en textfil.
>>
>>Please, er der ikke nogen der vil hjælpe mig?
>
> Indlæs hele filen, slet linjen, og gem den igen :)
>
> Du kan for eksempel bruge funktionen file() til at indlæse filen i et
> array, linje for linje, og således fjerne det aktuelle element.
>
> <?php
> $filename = "filnavn.txt";
> $lines = file($filename);
> unset($lines[5]); // fjerner linje 6 (første linje er $lines[0])
> file_put_contents($filename,$lines);
> ?>
>
> file_put_contents() kræver PHP5, men kan let erstattes af
> fopen()/fwrite()/fclose(), hvis man kører PHP4.
>
> --
> - Peter Brodersen

Jeg har lavet

<?php
$filename = "dok.txt";
$lines = file($filename);
unset($lines[2]); // fjerner linje 6 (første linje er $lines[0])
$fp = fopen($filename, w);
fputs($fp, $lines);
fclose($fp);
?>

da file_put_contents() ikke virkede.
Men den skriver bare Array i tekstfilen.

Mit script: http://niels.spoweb.dk/testfok.php
Tekstfilen: http://niels.spoweb.dk/dok.txt

Og der "var" omkring 8 linjer i filen.



Nezar Nielsen (09-12-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 09-12-04 15:04

Niels wrote:

> fputs($fp, $lines);
> fclose($fp);
> ?>
>
> da file_put_contents() ikke virkede.
> Men den skriver bare Array i tekstfilen.

Det er klart, du skriver jo bare array'et til filen, du skal skrive
værdierne i arrayet til filen, f.eks:

fputs($fp, implode('',$lines));

--
Mvh. Nezar Nielsen
http://fez.dk

Niels (09-12-2004)
Kommentar
Fra : Niels


Dato : 09-12-04 15:14


"Nezar Nielsen" <nezar.nielsen@gmail.com> skrev i en meddelelse
news:31r4ajF3cn8olU1@individual.net...
> Niels wrote:
>
>> fputs($fp, $lines);
>> fclose($fp);
>> ?>
>>
>> da file_put_contents() ikke virkede.
>> Men den skriver bare Array i tekstfilen.
>
> Det er klart, du skriver jo bare array'et til filen, du skal skrive
> værdierne i arrayet til filen, f.eks:
>
> fputs($fp, implode('',$lines));
>
> --
> Mvh. Nezar Nielsen
> http://fez.dk

Yes. it's work



Peter Brodersen (09-12-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-12-04 15:22

On Thu, 09 Dec 2004 15:03:49 +0100, Nezar Nielsen
<nezar.nielsen@gmail.com> wrote:

>Det er klart, du skriver jo bare array'et til filen, du skal skrive
>værdierne i arrayet til filen

Helt klart er det dog ikke, idet file_get_contents() rent faktisk
accepterer et array, så det ku' jeg selvfølgelig godt have uddybet.

I stedet valgte jeg tilsyneladende ikke at gøre det :)

--
- Peter Brodersen

Nezar Nielsen (09-12-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 09-12-04 15:52

Peter Brodersen wrote:

>
> Helt klart er det dog ikke, idet file_get_contents() rent faktisk
^^^ <- put mener du vel..

> accepterer et array, så det ku' jeg selvfølgelig godt have uddybet.

Ja, jeg synes også det er noget underligt noget, at de sådan blander
rundt i tingene og tillader den at modtage et array som de så selv lige
implode'er...

Endnu en af de ting der får mig til at synes at php er blevet
forfærdeligt bloated på det sidste.

--
Mvh. Nezar Nielsen
http://fez.dk
ni, ni, ni!

Peter Brodersen (09-12-2004)
Kommentar
Fra : Peter Brodersen


Dato : 09-12-04 23:09

On Thu, 09 Dec 2004 15:51:42 +0100, Nezar Nielsen
<nezar.nielsen@gmail.com> wrote:

> ^^^ <- put mener du vel..

file_put_contents(), yep.

>Ja, jeg synes også det er noget underligt noget, at de sådan blander
>rundt i tingene og tillader den at modtage et array som de så selv lige
>implode'er...

De er vel bare glade for mixed-typer :) Måske inspireret af perls
kontekst-sensitive funktioner og returværdier. Bortset fra at perls er
fornuftige :)

>Endnu en af de ting der får mig til at synes at php er blevet
>forfærdeligt bloated på det sidste.

Jeg er ikke uenig.

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste