[Newbie] array file --> local remote

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

  • [Newbie] array file --> local remote

    Hi
    Bin neu hier und habe so gut wie keine Programmiererfahrung -aber die Suchfunktionhier und google hab ich vorher bemüht...

    Folgendes Problem:
    Ich möchte eine Datei (genauer gesagt eine Webseite) in ein array einlesen und dann Teile davon ausgeben.

    PHP-Code:
    $reg file("reg1.html");
    $i 0;
    $stadt 132;
    echo 
    "<table border=1>";
    do {
    echo 
    "<tr><td>";
    echo 
    strip_tags($reg[$stadt 2]);
    echo 
    "</td><td>";
    echo 
    strip_tags($reg[$stadt]);
    echo 
    "</td><td>Region 1</td></tr>";
    $stadt $stadt 11;
    $i $i +1;
    } while (
    $i<60); 
    Das funktioniert auch wunderbar, solange reg1.html local bei mir gespeichert ist.

    Sobald ich aber
    PHP-Code:
    $reg file("--url--?id=37155&sessionid=11111111&num2=1"); 
    remote aufrufe ist das array "nicht ganz voll".
    Die Seite hat 791 Zeilen (~132.495 byte) und das array nur 660 (107.753 byte).
    Kann mir jemand bitte einen Tip geben, wo ich das Problem suchen muss?
    Der Server, wo das Script läuft steht bei mir zuhause - es wäre also kein Problem da etwas einzustellen, falls es an irgendwelchen Serverbeschränkungen liegen sollte.

    Bin für jede Hilfe dankbar - such mir schon seit Tagen einen Wolf...

    LG, Norbert

  • #2
    dann hast du dir doch bestimmt schon das array mittels print_r() ausgeben lassen? wenn nicht - mach das, am besten mit <pre>-tags umrandet - sonst kann man es schlecht lesen.

    du wirst merken - es liegt vermutlich an falsch erkannten zeilenumbrüchen.
    dafür gibt es eine nützliche anmerkung im manual sowie einige workarounds in den user notes mit manueller bearbeitung des zeilenumbrüche.

    Kommentar


    • #3
      Hi
      Original geschrieben von penizillin
      dann hast du dir doch bestimmt schon das array mittels print_r() ausgeben lassen?
      Nein - ich hatte das über die von dir verlinkte Manualseite gemacht:
      PHP-Code:
      // Durchgehen des Arrays und Anzeigen des HTML Source inkl. Zeilennummern
      foreach ($reg as $line_num => $line) {
         echo 
      "Line #<b>{$line_num}</b> : " htmlspecialchars($line) . "<br>\n";

      wenn nicht - mach das, am besten mit <pre>-tags umrandet - sonst kann man es schlecht lesen.
      Hab ich gemacht - aber da seh ich auch nicht mehr

      du wirst merken - es liegt vermutlich an falsch erkannten zeilenumbrüchen.
      Nein - leider nicht.
      Alle Zeilenumbrüche werden richtig erkannt; das array ist mitten in der 660ten Zeile zuende (wie gesagt: nur bei remoteaufruf der Seite - ist die Seite lokal gespeichert funktioniert alles wie erwartet)


      LG, Norbert

      Kommentar


      • #4
        versuche, den quellcode mittels file_get_contents() oder zur not mit fsockopen(), fopen() etc. zu ermitteln und das aufsplitten nach zeilen manuell machen.

        Kommentar


        • #5
          Original geschrieben von penizillin
          versuche, den quellcode mittels file_get_contents()
          Hab ich gemacht.
          Der String bricht an exakt derselben Stelle ab wie bei file().

          oder zur not mit fsockopen(), fopen() etc. zu ermitteln
          bei fsockopen bekomme ich folgende Fehlermeldung:
          Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /srv/www/htdocs/norbert/index.php on line 19
          bei fopen passiert gar nichts.

          Kommentar


          • #6
            dann schau mal im manual nach, wie man die funktionen benutzt.

            Kommentar


            • #7
              Original geschrieben von penizillin
              dann schau mal im manual nach, wie man die funktionen benutzt.
              Danke vielmals.

              Ich werd das machen, nachdem du mir erklärst, warum du meinst das es mit den Funktionen funktionieren sollte, mit file() und file_get_contents() aber nicht.

              Das Porblem sind nicht irgendwelche Zeilenumbrüche, sondern das die Seite nicht vollständig ins array eingelesen wird...

              Kommentar


              • #8
                file() und file_get_contents() greifen auf url wrapper zurück, um die url auszulesen. da ich nicht weiß, was an der stelle so besondes ist, an der die übertragung abbricht, nehme ich an, dass es eher funktionieren würde, die datei mit dazu geeigneter funktion einzulesen, bevor man sie weiterverarbeitet.

                Kommentar


                • #9
                  Original geschrieben von penizillin
                  file() und file_get_contents() greifen auf url wrapper zurück, um die url auszulesen. da ich nicht weiß, was an der stelle so besondes ist, an der die übertragung abbricht, nehme ich an, dass es eher funktionieren würde, die datei mit dazu geeigneter funktion einzulesen, bevor man sie weiterverarbeitet.
                  Ok - danke Dir; wieder was gelernt

                  Also mit fopen() bricht die Übertragung noch viel früher ab ; aber mit fsockopen() hab ichs nun hingekriegt.
                  Problem ist damit gelöst
                  Nochmals vielen Dank.

                  LG, Norbert

                  Kommentar

                  Lädt...
                  X