CSV Dateien mit PHP bearbeiten.

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

  • CSV Dateien mit PHP bearbeiten.

    Hallo zusammen,

    ich hoffe mein Problem so genau wie möglich schildern zu können...

    Ich programmiere ein Tool womit man bestimmte Infos aus dem Quelltext von Webseiten rausfischen kann.

    Man tippt eine URL ein und das System legt los,.... fopen(), zeilen durchsuchen...usw.

    Ich möchte ich auch die Möglichkeit anbieten, dass man nicht nur eine URL prüfen kann, sondern mehrere gleichzeitig. (CSV Liste).

    Jetzt mein Prolem:

    Ich bin schon soweit das er mir die CSV liste öffnet. Aber ich bekomme es nicht hin, dass er die Zeile als URL erkennt und sie dann öffnet,...usw.

    Hier der Script von der einfachen version:
    Code:

    if (!empty($url) && !empty($datei)){
    for ($zeile = fgets($datei); !feof($datei); $zeile = fgets($datei)){
    if(!strstr($zeile, '</head>')){
    if(strstr($zeile, '"TYPO3')){
    $info = strstr($zeile, '"TYPO3');
    $info = str_replace("\"TYPO3", "", $info);
    $info = str_replace("CMS", "", $info);
    $info = str_replace("\"", "", $info);
    $info = str_replace(" />", "", $info);
    $info = str_replace(" >", "", $info);
    echo '<td width=50><center>'.$info.'</center></td>';
    break;
    }
    } else {
    break;
    }
    }

    und hier der von der CSV Datei:
    Code:

    if ($size < "100001" && $size > "0") {

    $userdatei = fopen("uploads/$name","rb");

    echo '<div class="inhalt">';

    for ($zeile = fgets($userdatei); !feof($userdatei); $zeile = fgets($userdatei)) {

    $zeile = str_replace('http', '<br />http', $zeile);

    echo $zeile;

    }

    fclose($userdatei);
    }

    Hier zeigt er wie gesagt den Inhalt an... aber ich scheitere daran wie ich die Beiden nun miteinander verbinde...

    Kann mir jemand helfen???

    Grüße

    Lui

  • #2
    Ich möchte ich auch die Möglichkeit anbieten, dass man nicht nur eine URL prüfen kann, sondern mehrere gleichzeitig. (CSV Liste).
    Wozu brauchst du da ne CSV? Letztendlich reicht es doch, wenn die URLs durch Zeilenumbrüche oder Kommas getrennt werden. Mehr Informationen brauchst du doch gar nicht.

    Und wo genau besteht dein Problem, die URLs nachher auszulesen?

    Aber ich bekomme es nicht hin, dass er die Zeile als URL erkennt und sie dann öffnet,...usw.
    explode() sollte die ohne viel Aufwand ein Array mit allen URLs liefern. Die kannst du dann der Reihe nach mit deinem bestehenden Script abarbeiten...

    PS: Bitte noch unsere Regeln lesen und den Quelltext entsprechend anpassen:
    http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Re: CSV Dateien mit PHP bearbeiten.

      Original geschrieben von Master_Lu
      ich hoffe mein Problem so genau wie möglich schildern zu können...

      Ich programmiere ein Tool womit man bestimmte Infos aus dem Quelltext von Webseiten rausfischen kann.

      Man tippt eine URL ein und das System legt los,.... fopen(), zeilen durchsuchen...usw.
      Ahja, URLs scrapen per fopen() ... beachtliche Leistung.
      *SCNR*

      Ich möchte ich auch die Möglichkeit anbieten, dass man nicht nur eine URL prüfen kann, sondern mehrere gleichzeitig. (CSV Liste).

      Jetzt mein Prolem:

      Ich bin schon soweit das er mir die CSV liste öffnet. Aber ich bekomme es nicht hin, dass er die Zeile als URL erkennt und sie dann öffnet,...usw.
      str_getcsv() zerlegt dir eine nahezu beliebige "komma-separierte" Zeichenkette in Einzelteile.

      fgetcsv() macht das, indem es eine Zeile direkt aus einer geöffneten Datei liest.

      Man kann das natürlich auch alles selbst zu Fuß programmieren, aber das wäre in dem Falle selbst mir zu umständlich.

      PHP-Code:
       if (!empty($url) && !empty($datei)){                              
            for (
      $zeile fgets($datei); !feof($datei); $zeile fgets($datei)){ 
              if(!
      strstr($zeile'</head>')){                                         
                if(
      strstr($zeile'"TYPO3')){                                          
                  
      $info strstr($zeile'"TYPO3');                                  
                  
      $info str_replace("\"TYPO3"""$info);         
                  
      $info str_replace("CMS"""$info); 
                  
      $info str_replace("\""""$info); 
                  
      $info str_replace(" />"""$info);  
                  
      $info str_replace(" >"""$info); 
                  echo 
      '<td width=50><center>'.$info.'</center></td>';  
                  break;
                }
              } else {
                  break;
              }
            } 
      Häh? Bahnhof? Was hat das mit deiner Problembeschreibung zu tun?
      Nebenbei: Wenn ich mich nicht irre, kann str_replace() mit Arrays beim Suchen- und beim Ersetzen-Argument umgehen. Diese hintereinanderkopierten str_replace()-Orgien sind ein sicheres Zeichen für nicht wirklich ausgereiften Quellcode.

      Ausgereift meine ich im Sinne von "gut durchdacht" und nicht wie bei altem Käse, worauf die Verwendung des antiken <center>-Tags aber hindeutet.

      PHP-Code:
       if ($size "100001" && $size "0")  {
              
                
      $userdatei fopen("uploads/$name","rb");
                
                echo 
      '<div class="inhalt">';
                
                for (
      $zeile fgets($userdatei); !feof($userdatei); $zeile fgets($userdatei)) {
                
                  
      $zeile str_replace('http''<br />http'$zeile);

                  echo 
      $zeile;
                  
                }
                
                
      fclose($userdatei);
               } 
      Hier zeigt er wie gesagt den Inhalt an... aber ich scheitere daran wie ich die Beiden nun miteinander verbinde...
      Würde ich auch. Lass mich raten: Von irgendwo kopiert und nicht wirklich verstanden, was da abläuft?
      Zuletzt geändert von fireweasel; 23.03.2009, 21:03.
      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

      Kommentar

      Lädt...
      X