file()-Array - nur eine Zeile gewünscht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • file()-Array - nur eine Zeile gewünscht

    Hallo,

    leider habe ich über die SuFu nichts finden können (falsches Stichwort???)

    Ich habe ein kleines aber feines Problem:

    PHP-Code:
    $_datei file($_nav);
    echo 
    $_datei[0]; 
    Dieses Code-Schnipsel liest ALLE Zeilen der Datei aus, die in $_nav gespeichert sind und übergibt sie in das Array $_datei! Anschließend lasse ich die erste Zeile, sprich den ersten Wert des Arrays per $_datei[0] ausgeben.

    Problem:
    Ich brauche wirklich nur diese eine Zeile, umfasst die Datei $_nav aber mehrere Zeilen, so wird mein Array natürlich dementsprechend weiter gefüllt. Und genau das will ich unterbinden. Ich will NUR die erste Zeile der Datei auslesen, der Rest soll gar nicht erst in das Array eingelesen werden...

    Hat wer irgendwelche Lösungsansätze? Vielen Dank!

  • #2
    Schreib dir ne eigene Funktion anstelle von file():
    PHP-Code:
    function myFile($file){
      
    $t=file($file);
      return 
    t[0];

    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      fopen+fgets+fclose sind die bessere Wahl als file.

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Hmm, klingt beides logisch...
        Hatte es auch schon mit fopen geschrieben, aber da hab ich ja das gleiche Problem.

        Andere Frage.
        Geht es auch, dem Script beizubringen, er soll alles AUSSER die erste Zeile auslesen, also quasi das Gegenstück?

        Kommentar


        • #5
          Nein, fopen öffnet nur die Datei, fgets liest die erste Zeile und fclose schließt sie dann wieder. Da wird wirklich nur die erste Zeile angefasst. Bei File werden die 100GB in den Ram geladen...

          Original geschrieben von Dampfi
          Geht es auch, dem Script beizubringen, er soll alles AUSSER die erste Zeile auslesen, also quasi das Gegenstück?
          PHP-Code:
          <?php
          $fp 
          fopen
          $müll 
          fgets($fp);
          while (!
          feof($fp)) {
           
          $keep fgets($fp);
          }
          fclose($fp);
          ...

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Alles roger! Ihr habt mir sehr schnell sehr gut geholfen! Vielen Dank!

            Für Interessierte mit gleichem Problem hier nun der funktionierende Schnipsel:

            PHP-Code:
                    # liest die erste Zeile der Dazei $_nav (= Headline) aus!
                    
            $_handle fopen ($_nav"r");
                    while (!
            feof($_handle)){
                            
            $_headline fgets($_handle4096);
                          echo 
            $_headline;}
                    
            fclose ($_handle); 

            Kommentar


            • #7
              Also ne, aber das hier
              # liest die erste Zeile der Dazei $_nav (= Headline) aus!
              macht dein Code nicht...

              PHP-Code:
              $_handle fopen ($_nav"r");
              if (
              $_handle && !feof($_handle))
                      
              $_headline fgets($_handle4096);
              else
                      
              $_headline null;
              fclose ($_handle);
              echo 
              $_headline

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar

              Lädt...
              X