fgetcsv will bei mir irgendwie nicht so richtig...

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

  • fgetcsv will bei mir irgendwie nicht so richtig...

    ich bin recht unerfahren mit php. vermutlich lässt sich dieses problem einfach beheben, aber bei mir will es einfach nicht klappen...

    Also ich möchte gerne eine externe asp-datei übernehmen, bei der die einzelnen elemente mit ; getrennt sind und diese teile mit fgetcsv in ein array einfügen. ich möchte, dass ich nachher mit $array[0], [1] usw. jeden string einzeln auslesen kann.

    ich habe es mal so versucht:

    -----------
    $row = 1;
    $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r");
    while ($data = fgetcsv ($fp, 1000, ";")) {

    $num = count ($data);

    $row++;

    for ($c=0; $c<$num; $c++) {

    print $data[$c] . "<br>";
    }
    }
    fclose ($fp);
    -----------

    so scheint es auch ganz gut zu klappen. wenn ich jedoch

    print $data[$c] mit $data[1]

    ersetze, erhalte ich immer eine leere ausgabe.

    wie muss ich dies anstellen, damit ich jeden einzelnen eintrag so auslesen kann?

    danke schon mal im voraus für die hilfe!

  • #2
    Gibt es einen besonderen Grund getcsv() zu verwenden, wenn nicht probiere es über fgets()
    Code:
    $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r");
    while (!feof($fp)) {
        $buffer = fgets($fp, 4096);
        echo nl2br($buffer);
    }
    fclose ($fp);
    Es kann auch sein, daß $data[1] keinen Inhalt hat. Ein Array ist nullrelativ, der erste Inhalt steht auf $data[0].


    Kommentar


    • #3
      wenn in der Datei in jeder Zeile nur ein Inhalt drin steht, gibt es bei dem "Datensatz" eben auch nix durch ";" zu trennen, weshalb, wie hand schon sagt, im 2. Arrayeintrag mit dem Index 1 nix drinsteht.

      Kommentar


      • #4
        Also erstmal danke für die Tipps. ich habe mal dieses versucht:

        $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r");
        while (!feof($fp)) {
        $buffer = fgets($fp, 4096, ";");
        echo $buffer[4];
        }
        fclose ($fp);


        jetzt stellt es mir jedoch von jedem feld nur das vierte zeichen dar. was ich aber wollte ist, dass das vierte (bzw. fünfte) array dargestellt wird.

        wie müsste ich das ändern, damit dies so passiert?

        Kommentar


        • #5
          Code:
          $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r");
          while (!feof($fp)) {
              $buffer = fgets($fp, 4096);
              $array = split(";",$buffer);
              // Hier die array-Bearbeitung, oder was auch immer
              print $array[4];
          }
          fclose ($fp);

          Kommentar


          • #6
            ich hab dies jetzt mal so eingegeben, wie hand es mir vorgeschlagen hat:

            $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r");
            while (!feof($fp)) {
            $buffer = fgets($fp, 4096);
            $array = split(";",$buffer);
            // Hier die array-Bearbeitung, oder was auch immer
            print $array[4];
            }
            fclose ($fp);


            dies hat leider eine leere ausgabe gemacht. darum hab ich mal $array[0] genommen. im $array[0] gibt es mir dann ALLES aus. also die gesamte site von http://www.ultragames.ch/misc/cheat-database.asp. Allerdings sind die ";" weg.

            finde das komisch, dass es alle daten ins erste array reintut. hat jemand eine idee?

            Kommentar


            • #7
              Das Skript erwartet die Daten im Format:
              inhalt1zeile1;inhalt2zeile1;inhalt3zeile1;inhalt4zeile1;
              inhalt1zeile2;inhalt2zeile2;inhalt3zeile2;inhalt4zeile2;

              Tasächlich ist der Inhalt aber
              Code:
              4gamerz.de ist wieder da!;
                               12.01;
                               15:28;
                               Es ist mittlerweile ...;
                               mf@ultragames.ch;
                               Marco;
                               ULTRAGAMES-In eigener Sache;
                               12.01;
                               00:41;
                               Diese Site ist erst ...;
                               tp@ultragames.ch;
                               Thomas;
                               Cultures2 Sceenshots;
                               12.01;
                               00:13;
                               Bei ...;
                               mf@ultragames.ch;
                               Marco;
                               IBM baut Patentvorsprung aus;
                               11.01;
                               21:27;
              Deshalb funzt das nicht!

              Welche Zeilen willst Du auslesen? Die mit den @?

              Code:
              <?
              $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r"); 
              while (!feof($fp)) { 
              	$buffer = fgets($fp, 4096); 
              	if (strpos($buffer, "@")) {
              		print trim(ereg_replace(";","",$buffer))."<br>"; 
              	}
              }
              fclose($fp); 
              ?>

              Kommentar


              • #8
                ah so kommt man der sache näher.

                also ich möchte eigentlich alle zeilen auslesen und jede einzelne anzeigen lassen können. (ich möchte sie in mein eigenes design integrieren)

                Kommentar


                • #9
                  Alle Zeilen? Bitte sehr:
                  Code:
                  <?
                  $fp = fopen("http://www.ultragames.ch/misc/cheat-database.asp","r"); 
                  while (!feof($fp)) { 
                  	$buffer = fgets($fp, 4096); 
                  	print trim(ereg_replace(";","",$buffer))."<br>"; 
                  }
                  fclose($fp); 
                  ?>

                  Kommentar


                  • #10
                    hi hand! danke vielmals für die hilfe. hab heute meinen bruder erreicht und er konnte es mir zeigen! so sieht es nun aus:


                    $fp = fopen( "http://www.ultragames.ch/misc/cheat-database.asp", "r" );
                    $data = array( '', '', '', '', '', '' );
                    $x = 0;
                    $l = 0;
                    while( !feof($fp) )
                    {
                    $data[$x] .= trim( fgets( $fp, 4096 ) );
                    if( ereg( ';$', $data[$x] ) )
                    {
                    $data[$x] = ereg_replace( ';$', '', $data[$x] );
                    $data[$x] = eregi_replace( '</{0,1}(font|td|tr|table|img)[^>]*>', '', $data[$x] );
                    $x++;
                    }
                    if( $x == 6 )
                    {
                    $data[3] = eregi_replace( '^(<br>|<br><br>|<br><br><br>)', '', $data[3] );
                    $data[3] = eregi_replace( '(<br><br><br>|<br><br><br><br>)', '<br>', $data[3] );
                    echo "
                    <table border='0' width='90%' bgcolor='#ABC7CD' cellspacing='1'>
                    <tr>
                    <td width='100%' valign='top'>
                    <table border='0' width='100%' bgcolor='#ABC7CD' cellspacing='0' cellpadding='0'>
                    <tr>
                    <td width='70%'><span class='cheattitle'>" .
                    $data[0] . "</span>
                    <td align='right' valign='top'>
                    " . $data[1] . ". / <a href='mailto:" . $data[4] . "'>" . $data[5] . "</a>" .
                    "</td>
                    </td>
                    </tr>
                    </table>
                    <table border='0' width='100%' bgcolor='#FFFFFF' cellspacing='1' cellpadding='1'>
                    <tr>
                    <td width='100%' valign=top>" .
                    $data[3] . "</td>
                    <td valign=top><img border='0' src='/zeichen/ausrufezeichen.gif'></td>
                    </tr>
                    </table>
                    </td>
                    </tr>
                    </table><p>";
                    $x = 0;
                    $l++;
                    $data = array( '', '', '', '', '', '' );
                    }
                    if( $l == 10 )
                    {
                    break;
                    }
                    }
                    fclose($fp);


                    gruss
                    dominik

                    Kommentar


                    • #11
                      Bitte gerne. Schönen Gruß noch an Deinen Bruder. Sag ihm noch daß das Skript loopt, wenn der Zielhost "www.ultragames.ch" nicht erreichbar oder das File "cheat-database.asp" nicht verfügbar ist:

                      Code:
                      Warning: php_hostconnect: connect failed in c:\programme\apache group\apache\htdocs\brother.php on line 2
                      
                      Warning: fopen("http://www.ultragames.ch/misc/cheat-database.asp","r") - Bad file descriptor in c:\programme\apache group\apache\htdocs\brother.php on line 2
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 6
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 8
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 6
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 8
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 6
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 8
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 6
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 8
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 6
                      
                      Warning: Supplied argument is not a valid File-Handle resource in c:\programme\apache group\apache\htdocs\brother.php on line 8
                      
                      .....
                      .....
                      .....
                      h.a.n.d.

                      Kommentar

                      Lädt...
                      X