[PHP] Liste abgleichen und alphabetisch ordnen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von esage, 5. November 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 5. November 2006
    Liste abgleichen und alphabetisch ordnen

    Ich benötige ein Script, das eine bereits vorhandene Blacklist in einer Textdatei (auf'm FTP) mit einer neuen Liste von Usern abgleicht (also nicht, dass bereits vorhandene User nochmal eingetragen werden) und anschließend alphabetisch ordnet.

    Die User werden sollten in folgendem Format eingelesen und ausgegeben werden:

    Liste mit neuen Usern:
    Code:
    Sponge
    Bob
    Pikachu
    Junior
    Logitech
    Alfred
    0-Bock
    Zebra
    Bereits vorhandene Liste:
    Code:
    Action
    Multi
    Rules
    Zebra
    Neue, komplette Liste:
    Code:
    0-Bock
    Action
    Alfred
    Bob
    Junior
    Logitech
    Multi
    Pikachu
    Rules
    Sponge
    Zebra
    Ich hoffe, dass jemand in der Lage ist, so etwas zu programmieren ^^
     
  2. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    hm, ich glaub ja nicht, dass dir das jemand schreibt.. hier mal ein par Hilfen zum Selbstschreiben:
    fopen - Dateien öffnen
    fgets - Liest eeine Zeile
    strcasecmp - Strings vergleichen ohne Groß-/Kleinschreibung
    feof - Prüft ob Zeiger am ende der Datei steht
    while.. - Schleife
    sort - Array sortieren
    fwrite - Dateien schreiben
    fclose - Dateien schließen

    Ich hoffe das hilft dir weiter. Viel Spaß dabei =)
     
  3. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    Und wie mache ich das, wenn ich alles aus einer Datei auslesen will und anschließend mit explode die einzelnen Zeile trennen will?
     
  4. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    PHP: array_unique - Manual

    ungetestet:
    PHP:
    function  merge_files ( $filename1 $filename2 ) {

      
    $file1  fopen ( $filename1 "r" );
      
    $file2  fopen ( $filename2 "r" );
      
      
    $i = 0 ;
      while(!
    feof ( $file1 ))
          
    $contents [ $i ++] =  fgets ( $file1 );
      while(!
    feof ( $file2 ))
          
    $contents [ $i ++] =  fgets ( $file2 );

      
    fclose ( $file1 );
      
    fclose ( $file2 );

      
    sort ( $contents );
      return 
    array_unique ( $contents );
    }
    gibt nen array zurück. letzte zeile muss ne leere sein, ansonsten funzt array_unique nicht richtig (sollte klar sein).


    PHP: explode - Manual
     
  5. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    $Array = file("Datei.txt");

    jede Linie = 1 Element des Arrs.
     
  6. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    Linie
    Sag lieber Zeile.

    explode(";", file_get_contents());
     
  7. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    hmpf, zuviel C gemacht
     
  8. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    hey,

    mit mysql wärs noch einfacher , denn so kann das jeder auslesen ..

    Wollt ich nur sagen lg
     
  9. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    also ich würde die datei wie gesagt per file() einlesen und mit natsort() das erhaltene array sortieren
    dann könntest du z.B. noch array_diff() benutzen, um die unterschiede des alten und neuen arrays zu ermitteln
    wobei man natürlich wissen müsste, wo deine neue und wo deine alte liste herkommen
     
  10. 5. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    @teh_boiiingerrr
    Ist das jetzt schon das komplette Script? 8o

    @Schmitz
    Die alte Liste würde aus einer Textdatei kommen (steht im Eröffnungspost) und die neue Liste kommt aus einem normalen Post-Formular.
     
  11. 6. November 2006
    AW: Liste abgleichen und alphabetisch ordnen

    nö, das is 'n ansatz, den du weiter ausbauen kannst (und solltest). ist so noch zu ungenau und es fehlt die fehlerbehandlung.
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.