[PHP] Probleme mit Suchstring

Dieses Thema im Forum "Webentwicklung" wurde erstellt von SnusMaster, 6. Februar 2009 .

  1. 6. Februar 2009
    Probleme mit Suchstring

    Hi Jungs, hab da mal ein PHP Problem...
    Untenstehend mein Code, das Problem ist das nie die ganze Zeile gelöscht wird und ich dann den Wer der überschrieben wird auf einer neuen Zeile hab, hat mir da jemand ne Lösung?

    BW garantiert!

    Mein Code:
    PHP:
    <? php


    $myFile 
    "markers.txt" ;
    $fh  fopen ( $myFile 'a' ) or die( "can't open file" );
    $stringData  "" . $_GET [ 'x' ]. "," . $_GET [ 'y' ]. "," . $_GET [ 'name' ];

    $deine_datei  "markers.txt" ;
    $line  $stringData ;
    $deingesuchterAusdruck  $_GET [ 'name' ];

    // datei existiert                
    if( $deine_datei ) {
                    
    // datei einlesen
    $dat  file  $deine_datei  );

    $search_array  = array();

    //line entspricht deiner zeile                
    foreach( $dat  AS  $line ) {
      
    $search_array [] =  $line ;
    }

    $output_array  = array();

    // die ausgelesenen wert durchgehen
    foreach( $search_array  AS  $sarray ) {
      
    //prüfen ob dein suchbegriff nicht vorhanden ist, wenn ja entfällt die zeile ansonsten wird alternativzeile geschrieben
      
    if(! inarray ( $deingesuchterAusdruck , $sarray ))
       
    $output_array [] =  $sarray ;
      else
       
    $output_array []  =  $line ;
    }

    // datei neu schreiben
    fwrite ( $fh join ( "\n" , $sarray ));
    fclose ( $fh );


    ?>
     
  2. 6. Februar 2009
    AW: Probleme mit Suchstring

    Also ich finde in deinem Code nix davon dass was gelöscht werden soll, nur dass evtl. neu geschrieben werden soll...
     
  3. 6. Februar 2009
    AW: Probleme mit Suchstring

    Du schreibst am ende das Falsche Array in die Datei

    anstatt
    Code:
    // datei neu schreiben
    fwrite($fh, join("\n",$sarray)); 
    brauchst du

    Code:
    // datei neu schreiben
    fwrite($fh, join("\n",$output_array)); 
    Außerdem ist dein code total durcheinander.... Du benutzt zb die lokale Variable $line außerhalb ihres Gültigkeitsbereichs...
    //edit: ups, mein Fehler, da stimmt ja gar nicht ^^

    Gruß,
    Figger
     
  4. 6. Februar 2009
    AW: Probleme mit Suchstring

    ja stimmt schon, es soll ja überschrieben werden (Die ganze Zeile) aber leider überschreibt es nur einen Teil davon

    Bsp:
    aus:
    -122.0307,37.3317,Test,Last Update: Feb 6, 2009 2:44:19 PM
    wird dann:
    -122.0307,37.3317,Test,Last Update: Feb 6, 2009 2:45:07 PM
    ,Last Update: Feb 6, 2009 2:44:19 PM
     
  5. 6. Februar 2009
    AW: Probleme mit Suchstring

    Hm das sit ja auch kein Wunder du überspringst die Zeile ja auch nicht sondern schreibst anstattdessen $line rein, was genau das Selbe wie $stringData ist (den sinn dahinter habe ich nicht wirklich verstanden... o0)

    wenn du das hier einfach weglässt sollte es funktionieren.

    Code:
    [COLOR=#000000][COLOR=#007700]else 
     [/COLOR][COLOR=#0000bb]$output_array[/COLOR][COLOR=#007700][] = [/COLOR][COLOR=#0000bb]$line[/COLOR][COLOR=#007700];
    [/COLOR][/COLOR]
    Es sei denn ich hab schon wieder was falsch verstanden?(
     
  6. 6. Februar 2009
    AW: Probleme mit Suchstring

    Funktionierts bei dir so?!
    Irgendwie wills bei mir nicht, Invalid Argument?!
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.