Kleines Problem beim Lesen einer datei

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von ThaHammer, 31.03.2005.

  1. ThaHammer

    ThaHammer Thread Starter MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    MacUser seit:
    01.06.2004
    Ja ich schon wieder! :)
    Also, das Skript läuft bei mir am G4 einwandfrei, nur am Server funktioniert es nicht ganz und ich habe keine Ahnung warum!

    PHP:
    $pfad="../text/de_public.txt";

    echo 
    "<center><h1><u><b>Lauftext &Auml;ndern!</b></u></h1><p>";
    if (
    is_file($pfad))            // Pfad überprüfen
    {
        if(
    $datei fopen($pfad,"r")) // Datei öffnen
        
    {
            while (!
    feof($datei))
            {
                
    $z fgets($datei,1048576);
            }
            echo 
    "Es wurden ".strlen($z)." Daten gelesen<br>$z";
    Hier mal der Ausschnit der Schuldig ist! :D

    Wenn ich das am G4 ausführe bekomme ich als Wert für $z 4644. Am Server kommt 11!
     
  2. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.042
    Zustimmungen:
    1.317
    MacUser seit:
    13.09.2004
    me again, too ;)
    Genau eine Zeile? Oder kommen mehrere? fgets hört ja am Zeilenende auf und Du weißt ja ,das es Unterschiede für die Zeilenumschaltung zwischen Mac/LINUX/Windows gibt. Meinst Du die Zahlen als Werte für $z oder strlen($z) ?
     
  3. ThaHammer

    ThaHammer Thread Starter MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    MacUser seit:
    01.06.2004
    Warum liest der unter Linux nur eine Zeile ein und am MAC die ganze Datei?

    Ich meinte die String Länge! Das ist allerdings jetzt nur zum Testen und überprüfen der Variable $z so eingebaut!

    OK! Verstehe ich das richtig? Ich muß erst die Länge der Datei ermitteln und dann solange auslesen wie die Datei groß ist?
    Oder wie umgehe ich das am geschicktesten?

    Lauter Anfängerfragen halt! :D
     
  4. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.042
    Zustimmungen:
    1.317
    MacUser seit:
    13.09.2004
    Na und jeder ist mal ein Anfänger!

    Zeilenumbrüche unterscheiden sich leider:

    CR= Carriadge Return ist der Wagenrücklauf bei einer mechanischen Schreibmaschine ( stammt noch aus Fernschreiberzeiten)

    LF= Line Feed ist der Vorschub um eine Zeile nach unten, damit nicht die selbe Zeile bei einer Schreibmaschine zweimal beschrieben wird.

    Windows macht: CRLF in Sonderzeichen im String ist das: "\r\n"
    UNIX macht : LF in Sonderzeichen im String ist das: "\n"
    Mac OS macht : CR in Sonderzeichen im String ist das: "\r"

    Also 3 Schreibweisen und alle meinen das Selbe: Zeilenende

    Du siehst jeder kocht den Brei anders ;) . Es ist auch möglich, das ich Mac OS und LINUX gerade mal wieder verwechsle ( ich arbeite ständig mit Allen Systemen). Wichtig ist halt, das Du die Datei entweder in einem Rutsch einliest ( dafür gibts auch ne Funktion -> www.php.net/manual/de ) oder eben alle Zeilen bis zum Dateiende!
     
    Zuletzt bearbeitet: 31.03.2005
  5. ThaHammer

    ThaHammer Thread Starter MacUser Mitglied

    Beiträge:
    3.276
    Zustimmungen:
    13
    MacUser seit:
    01.06.2004
    Mann sag halt das es einfach ist, wenn man den richtigen Befehl findet! :D

    file_gets_content ist die Lösung gewesen! Einfacher gehts ja wohl nicht.
    Man sollte nicht immer das erste ausprobieren was man in einem Buch findet, ist nicht immer die Beste Lösung.
     
Die Seite wird geladen...
Ähnliche Themen - Kleines Problem beim
  1. melesch
    Antworten:
    3
    Aufrufe:
    880
    falkgottschalk
    19.05.2014
  2. fabib
    Antworten:
    9
    Aufrufe:
    929
    fabib
    30.06.2009
  3. macbooklover
    Antworten:
    6
    Aufrufe:
    814
    t11n
    07.05.2008
  4. flozirkus
    Antworten:
    3
    Aufrufe:
    905
    Benjamin-Do
    30.03.2008