bestimmte zeile aus gleicher datei auslesen

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

  • bestimmte zeile aus gleicher datei auslesen

    Ich möchte einen String aus der 5. Zeile der gerade aufgerufenen Seite per regularer Ausdrücke extrahieren, um ihn dann in der selben Seite als Wert eines versteckten Formularfeldes zur nächsten Datei weitergeben zu können.
    Klappt mich nachfolgendem Code auch gut.

    PHP-Code:
    <?php

        $fp 
    fopen ("meister_im_gastgewerbe.php""r");
        
    $line_num 4;
        
    $line_cnt 0;
        while (
    $line fgets($fp1024)) {
            if (
    $line_cnt == $line_num) {
                
    /*echo $line;*/
                
    break;
            }
            
    $line_cnt++;
        }
            
    eregi('<headline.*text=[\'"]?([^\'"]*)[\'"]?.*>'$line$match);
        
    ?>
    Problem:
    Der Name der Datei in fopen (in der auch dieser Code drin steht) ist immer unterschiedlich. Also müsste sich die Datei selbst aufrufen können. Aber mit $PHP_SELF erhalte ich Fehler :

    für fopen --> no such file
    und entsprechend bei
    fgets --> Supplied argument is not a valid File-Handle resource


    Wie komme ich an die 5. Zeile in der gleichen Datei ohne bei fopen den konkreten Dateinamen angeben zu müssen?

  • #2
    hast du $PHP_SELF mal ausgegeben?

    Kommentar


    • #3
      Du meinst z.B. mit print() ?

      Warning: fopen("1", "r") - No such file or directory in /usr/local/etc/httpd/htdocs/afz/wDeutsch/hotelschule/bildungsangebote/meister_im_gastgewerbe.php

      Das ist die Meldung, wenn an Stelle des Dateinamens print($PHP_SELF) steht.

      Kommentar


      • #4
        HUHU!!!! Grundlagen???

        was macht print? ne ausgabe? Richtig!

        Du solltest das print mal machen um zu überprüfen ob in der variable überhaupt was drin steht.

        Kommentar


        • #5
          print ($PHP_SELF);

          gibt:

          wDeutsch/hotelschule/bildungsangebote/meister_im_gastgewerbe.php

          Kommentar


          • #6
            meister_im_gastgewerbe.php != wDeutsch/hotelschule/bildungsangebote/meister_im_gastgewerbe.php

            oder?

            Somit haben wir die quelle des Problems.

            guck dir mal filename() an.

            Kommentar


            • #7
              konnte zu filename() absolut nichts finden. gibt's das als fkt. ?

              hab's nun so und funzt:

              PHP-Code:
                  <?php
                  $filename 
              basename($_SERVER['PHP_SELF']); 
                  
              $fp fopen ($filename"r")
                      or die (
              "Kann Datei nicht öffnen!");
                  
              $line_num 4;
                  
              $line_cnt 0;
                  while (
              $line fgets($fp1024)) {
                      if (
              $line_cnt == $line_num) {
                          echo 
              $line;
                          break;
                      }
                      
              $line_cnt++;
                  }

                  
              ?>
              @Tobiaz: Danke für die Hilfe!

              Kommentar


              • #8
                Jo, sorry! filename gibbet natürlich nicht. Du hast basename() völlig richtig eingesetzt.

                Kommentar

                Lädt...
                X