kostenloser Webspace werbefrei: lima-city


KNOWHOW? - Von mehreren Dateien den größten Zahl finden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    Weis jemand wie man von mehreren Dateien die mit dem größten Zahl im Dokument finden lassen kann?

    zb.
    datei1.txt = "10";
    datei2.txt = "4";
    datei3.txt = "120";
    hier also gewinnt datei3.txt

    Am schluss soll dran stehen was im Dokument drin steht...
    und eine IF Frage soll noch schauen was datei3 für eine bezeichnung hat

    die bezeichnung steht in Variable $namedatei3


    Es soll folgendermaßen als echo ausgegeben werden

    "die datei mit der höchsten zahl (datei3.txt) + variablename ($namedatei3)"
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hm... dein bsp is denke ich doof gewählt.

    was meinst du denn nu? was soll durchsucht werden

    der dokumentenname

    oder der inhalt des dokuments?
  4. Stichwort http://de.php.net/fopen() und was dazu gehört, lies dich einfach mal durchs Manual.
    Zum vergleichen http://de.php.net/preg_match().

    Das sollte eigentlich alles sein, was du brauchst.

    Viel Spaß beim Lesen und anschließendem Programmieren.

    Gruß
    Tim

    Beitrag geändert: 2.1.2009 1:28:23 von tibel
  5. Wie tibel schon schrieb: Entweder mittels fopen() und fread() oder aber viel einfacher mit file_get_contents().

    Ich gehe mal davon aus, dass in den Textdateien nichts anderes steht, als diese Zahl.
    Das macht dann auch preg_match() überflüssig.

    Schreibe stattdessen alle Dateinamen mit den Werten in ein Array und lasse dieses mit arsort() absteigend sortieren.

    $values = array("datei1.txt" => "1", "datei2.txt" => "40", "datei3.txt" => "50", "datei4.txt" => "10");
    arsort($values);


    Dann kannst du mittels der Funktion each() den ersten Wert des Arrays ablesen:

    $result = each($values);
    echo $result['key']." hat den Wert ".$result['value'];



    Überlege dir allerdings auch, ob du nicht besser eine MySQL-Datenbank verwenden solltest.
    Dann könntest du sofort nur den höchsten Wert der Tabelle auslesen:
    SELECT * FROM tabelle ORDER BY value DESC LIMIT 1;



    gruß
    ferdinand24


    Beitrag geändert: 2.1.2009 2:12:28 von ferdinand24
  6. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    ya aber datei1.txt und so sollen ja geladen werden.

    das mit den zahlen war jetzt bloß ein beispiel was in der datei drin stehen könnte.


    der server soll erst mal überprüfen welche datei die größte zahl als inhalt hat.
    kann mir jemand vlt nen tipp geben?

  7. ya aber datei1.txt und so sollen ja geladen werden.

    das mit den zahlen war jetzt bloß ein beispiel was in der datei drin stehen könnte.


    der server soll erst mal überprüfen welche datei die größte zahl als Inhalt hat.
    kann mir jemand vlt nen tipp geben?

    Was meinst du denn mit "größter Zahl als Inhalt"?
    Der Schnipsel von mir weiter oben ermittelt doch, welche Datei die größte Zahl als Inhalthat.

    Oder möchtest du feststellen, welche Datei den meisten Inhalt hat?

    Beispiel:
    datei1.txt: "gjklghjklghjklhlkhklhjkkjfhkldsgfjdjfsdjklfhkösdhfjkv,kd.hfklfljkhklfhsdklh"
    ist länger als
    datei2.txt: "hjkhjklhlkhklhjl"

    Dann benutze einfach strlen(), um die Länge des mit file_get_contents() eingelesenen Strings zu ermitteln. Diesen kannst du dann in das Array schreiben, sortieren und du weißt, welche Datei am längsten ist. Die kannst du dann nochmals einlesen.

    Oder geht es tatsächlich um Zahlen?


    Ich rate dir nochmal wärmstens zur Verendung einer SQL-Datenbank. Dann hast du den ganzen Stress hier nicht, sondern kannst alles bequem in einer kleinen Abfrage unterbringen.



    gruß
    ferdinand24
  8. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    sql kann ich vergessen ich hab bereits alles mit textdokumenten programmiert deswegen brauch ich das unbedingt mit solchen.

    es geht nur um zahlen. die dokumente enthalten NUR zahlen

  9. sql kann ich vergessen ich hab bereits alles mit textdokumenten programmiert deswegen brauch ich das unbedingt mit solchen.

    es geht nur um zahlen. die dokumente enthalten NUR zahlen

    Dann ist doch mein ersten Beispiel wunderbar zu gebrauchen.

    Lies die ganzen Dateien mit file_get_contents() in ein assoziatives Array (Key = Dateiname, Value = Dateiinhalt) und dann sortiere es und lies den ersten Eintrag ab. Das habe cih oben alles schon einmal erklärt ;)

    Wenn du daran etwas nicht verstehst, dann sag bitte GENAU, WAS du nicht verstehst. Sonst kann dir schließlich niemand helfen.




    gruß
    ferdinand24
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!