Likes Likes:  0
Resultaten 1 tot 9 van de 9
Geen
  1. #1
    mistery guest
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    regel verwijderen uit bestand

    Hallo mensen. Hoe kan ik een regel verwijderen uit een bestand?

    Bijvoorbeeld
    ik heb een bestand bestand.dat
    daar staat op iedere regel een code
    <? $plaatje = 1 ?>
    <? $fiets = rood ?>
    <? $zadel = true ?>

    Ik moet dus via een opgegeven 'input'. de regel verwijderen.
    Dus bv via een form vul ik in een tekstveld
    "<? $fiets = rood ?>" en klik op verwijderen en de regel is verwijderd.

    Wie kan me vertellen hoe ik dit doe?




  2. #2
    Daniel Tryba
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    mistery guest <fdshk@gfsd.fd> wrote:
    > ik heb een bestand bestand.dat
    > daar staat op iedere regel een code
    > <? $plaatje = 1 ?>
    > <? $fiets = rood ?>
    > <? $zadel = true ?>
    >
    > Ik moet dus via een opgegeven 'input'. de regel verwijderen.
    > Dus bv via een form vul ik in een tekstveld
    > "<? $fiets = rood ?>" en klik op verwijderen en de regel is verwijderd.
    >
    > Wie kan me vertellen hoe ik dit doe?


    Het is jammer dat je niet vertelt in welke taal je dit voor elkaar wilt
    krijgen dus dan maar in pseudo:

    open bestand, lees regel voor regel in, controleert of de regel matched
    met de gezocht string, is dat niet het geval dan schrijf je de gelezen
    regel weg naar een nieuwe file en overschrijf als laatste de oude file
    met de nieuwe.

    Punten van aandacht die je niet moet vergeten zijn locking van te
    scannen file.

    --

    Daniel Tryba




  3. #3
    mistery guest
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    > > ik heb een bestand bestand.dat
    > > daar staat op iedere regel een code
    > > <? $plaatje = 1 ?>
    > > <? $fiets = rood ?>
    > > <? $zadel = true ?>
    > >
    > > Ik moet dus via een opgegeven 'input'. de regel verwijderen.
    > > Dus bv via een form vul ik in een tekstveld
    > > "<? $fiets = rood ?>" en klik op verwijderen en de regel is verwijderd.
    > >
    > > Wie kan me vertellen hoe ik dit doe?

    >
    > Het is jammer dat je niet vertelt in welke taal je dit voor elkaar wilt
    > krijgen dus dan maar in pseudo:
    >
    > open bestand, lees regel voor regel in, controleert of de regel matched
    > met de gezocht string, is dat niet het geval dan schrijf je de gelezen
    > regel weg naar een nieuwe file en overschrijf als laatste de oude file
    > met de nieuwe.
    >
    > Punten van aandacht die je niet moet vergeten zijn locking van te
    > scannen file.


    Zou inderdaad makkelijk zijn, misschien kan je me op weg helpen met een code
    als ik zeg dat ik het met PHP wil doen



  4. #4
    Daniel Tryba
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    mistery guest <fdshk@gfsd.fd> wrote:
    >> open bestand, lees regel voor regel in, controleert of de regel matched
    >> met de gezocht string, is dat niet het geval dan schrijf je de gelezen
    >> regel weg naar een nieuwe file en overschrijf als laatste de oude file
    >> met de nieuwe.
    >>
    >> Punten van aandacht die je niet moet vergeten zijn locking van te
    >> scannen file.

    >
    > Zou inderdaad makkelijk zijn, misschien kan je me op weg helpen met een code
    > als ik zeg dat ik het met PHP wil doen


    Niet uitvoerig getest (mbt tot locking maar IMHO zou het moeten werken,
    mogelijk dat je problemen krijgt indien er end-of-line conversies plaats
    vinden, in dit voorbeeld hoe je altijd een "unix" tekstfile over.

    <?php
    $remove='string to remove';

    if($fp=fopen('file.txt','r+'))
    {
    if(flock($fp,LOCK_EX,true))
    {
    $out='';

    while(!feof($fp))
    {
    $line=trim(fgets($fp));

    if(strcmp($line,$remove))
    {
    $out.="$line\n";
    }
    }

    if(strlen($out))
    {
    if(rewind($fp))
    {
    fwrite($fp,$out);
    }
    }
    }

    fclose($fp);
    }

    ?>



    --

    Daniel Tryba


  5. #5
    mistery guest
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    > Niet uitvoerig getest (mbt tot locking maar IMHO zou het moeten werken,
    > mogelijk dat je problemen krijgt indien er end-of-line conversies plaats
    > vinden, in dit voorbeeld hoe je altijd een "unix" tekstfile over.


    Ik heb het uitgeprobeerd.
    Om het te test had ik een bestand gemaakt met getallen onder elkaar van 1
    tot 10
    na het gebruik van het script veranderd het bestand in alle getallen naast
    elkaar met zwarte vakjes ertussen. en getal 17 tm 20 wordt herhaald aan het
    einde :s



  6. #6
    Daniel Tryba
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    mistery guest <fdshk@gfsd.fd> wrote:
    >> Niet uitvoerig getest (mbt tot locking maar IMHO zou het moeten
    >> werken, mogelijk dat je problemen krijgt indien er end-of-line
    >> conversies plaats vinden, in dit voorbeeld hoe je altijd een "unix"
    >> tekstfile over.

    >
    > Ik heb het uitgeprobeerd. Om het te test had ik een bestand gemaakt
    > met getallen onder elkaar van 1 tot 10 na het gebruik van het script
    > veranderd het bestand in alle getallen naast elkaar met zwarte vakjes
    > ertussen.


    Dat komt zeer waarschijnlijk door een EOL conversie. Ik neem aan dat je
    het script op een windows host draaid?

    > en getal 17 tm 20 wordt herhaald aan het einde :s


    Aha, dat was me niet opgevallen...

    Pogin 2, zou beide bovenstaande problemen moeten oplossen.

    <?php

    $remove='string to remove';

    if($fp=fopen('file.txt','r+'))
    {
    if(flock($fp,LOCK_EX,true))
    {
    $changed=false;
    $out='';

    while(!feof($fp))
    {
    $line=fgets($fp);

    if(preg_match("/^(.*)([\r\n|\n|\r]?)$/",$line,$match))
    {
    if(strcmp($match[1],$remove))
    {
    $out.=$line;
    }
    else
    {
    $changed=true;
    }
    }
    }

    if($changed && rewind($fp))
    {
    $size=strlen($out);

    ftruncate($fp,$size);
    fwrite($fp,$out,$size);
    }
    }

    fclose($fp);
    }

    ?>


    --

    Daniel Tryba

  7. #7
    mistery guest
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    Geen op linux.
    Maar ik zal even het nieuwe script proberen

    "Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
    bericht news:b90q97$sa3$1@news.tue.nl...
    > mistery guest <fdshk@gfsd.fd> wrote:
    > >> Niet uitvoerig getest (mbt tot locking maar IMHO zou het moeten
    > >> werken, mogelijk dat je problemen krijgt indien er end-of-line
    > >> conversies plaats vinden, in dit voorbeeld hoe je altijd een "unix"
    > >> tekstfile over.

    > >
    > > Ik heb het uitgeprobeerd. Om het te test had ik een bestand gemaakt
    > > met getallen onder elkaar van 1 tot 10 na het gebruik van het script
    > > veranderd het bestand in alle getallen naast elkaar met zwarte vakjes
    > > ertussen.

    >
    > Dat komt zeer waarschijnlijk door een EOL conversie. Ik neem aan dat je
    > het script op een windows host draaid?
    >
    > > en getal 17 tm 20 wordt herhaald aan het einde :s

    >
    > Aha, dat was me niet opgevallen...
    >
    > Pogin 2, zou beide bovenstaande problemen moeten oplossen.
    >
    > <?php
    >
    > $remove='string to remove';
    >
    > if($fp=fopen('file.txt','r+'))
    > {
    > if(flock($fp,LOCK_EX,true))
    > {
    > $changed=false;
    > $out='';
    >
    > while(!feof($fp))
    > {
    > $line=fgets($fp);
    >
    > if(preg_match("/^(.*)([\r\n|\n|\r]?)$/",$line,$match))
    > {
    > if(strcmp($match[1],$remove))
    > {
    > $out.=$line;
    > }
    > else
    > {
    > $changed=true;
    > }
    > }
    > }
    >
    > if($changed && rewind($fp))
    > {
    > $size=strlen($out);
    >
    > ftruncate($fp,$size);
    > fwrite($fp,$out,$size);
    > }
    > }
    >
    > fclose($fp);
    > }
    >
    > ?>
    >
    >
    > --
    >
    > Daniel Tryba




  8. #8
    mistery guest
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    Niet op windows dus,
    Ik heb de nieuwe geprobeerd, maar er veranderd helemaal niets aan het
    bestand.
    Ik snap ook het hele script niet.
    Ik krijg geen foutmeldeingen in ieder geval

    "mistery guest" <fdshk@gfsd.fd> schreef in bericht
    news:b9142r$ek$1@news3.tilbu1.nb.home.nl...
    > Geen op linux.
    > Maar ik zal even het nieuwe script proberen
    >
    > "Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
    > bericht news:b90q97$sa3$1@news.tue.nl...
    > > mistery guest <fdshk@gfsd.fd> wrote:
    > > >> Niet uitvoerig getest (mbt tot locking maar IMHO zou het moeten
    > > >> werken, mogelijk dat je problemen krijgt indien er end-of-line
    > > >> conversies plaats vinden, in dit voorbeeld hoe je altijd een "unix"
    > > >> tekstfile over.
    > > >
    > > > Ik heb het uitgeprobeerd. Om het te test had ik een bestand gemaakt
    > > > met getallen onder elkaar van 1 tot 10 na het gebruik van het script
    > > > veranderd het bestand in alle getallen naast elkaar met zwarte vakjes
    > > > ertussen.

    > >
    > > Dat komt zeer waarschijnlijk door een EOL conversie. Ik neem aan dat je
    > > het script op een windows host draaid?
    > >
    > > > en getal 17 tm 20 wordt herhaald aan het einde :s

    > >
    > > Aha, dat was me niet opgevallen...
    > >
    > > Pogin 2, zou beide bovenstaande problemen moeten oplossen.
    > >
    > > <?php
    > >
    > > $remove='string to remove';
    > >
    > > if($fp=fopen('file.txt','r+'))
    > > {
    > > if(flock($fp,LOCK_EX,true))
    > > {
    > > $changed=false;
    > > $out='';
    > >
    > > while(!feof($fp))
    > > {
    > > $line=fgets($fp);
    > >
    > > if(preg_match("/^(.*)([\r\n|\n|\r]?)$/",$line,$match))
    > > {
    > > if(strcmp($match[1],$remove))
    > > {
    > > $out.=$line;
    > > }
    > > else
    > > {
    > > $changed=true;
    > > }
    > > }
    > > }
    > >
    > > if($changed && rewind($fp))
    > > {
    > > $size=strlen($out);
    > >
    > > ftruncate($fp,$size);
    > > fwrite($fp,$out,$size);
    > > }
    > > }
    > >
    > > fclose($fp);
    > > }
    > >
    > > ?>
    > >
    > >
    > > --
    > >
    > > Daniel Tryba

    >
    >




  9. #9
    Daniel Tryba
    regel verwijderen uit bestand
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: regel verwijderen uit bestand

    mistery guest <fdshk@gfsd.fd> wrote:
    > Niet op windows dus,


    Het werkt niet op windows of je draaid geen windows?

    > Ik heb de nieuwe geprobeerd, maar er veranderd helemaal niets aan het
    > bestand.


    Ik kan niets anders melden dan dat het wel werkt bij mij (php 4.2.3 op
    een Linux doos).

    > Ik snap ook het hele script niet.


    Stel dan maar eens een gerichte vraag erover

    > Ik krijg geen foutmeldeingen in ieder geval


    [insert standaard verhaaltje over topposten + integraaf kwooten]

    --

    Daniel Tryba


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics