WinFuture-Forum.de: Php - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Php fseek und http://


#1 Mitglied ist offline   fitness-sir 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 09. Oktober 03
  • Reputation: 0

geschrieben 19. Februar 2004 - 12:27

Hallo,

mein Problem:

möchte eine html Datei aus dem www nach einem string durchsuchen.
leider funktioniert fseek() über eine mit fopen() geöffnete http://-Datei nicht (eigene erfahrung und php-foren).
später will ich noch ein fread() an zeigerposition machen.

kenne mich mit php noch nicht so aus.
vielleicht liegt die lösung sogar auf der hand.
habe leider in foren noch keine lösung gefunden, bin wahrscheinlich blind

kann jemand helfen und mir eine lösung für das problem liefern.

um missverständnissen vorzubeugen:
das pgm steht schon und funktioniert mit einer offline-txt-version der entsprechenden website, das problem liegt also nur im öffnen/lesen einer http://-datei.

danke und gruß fitness-sir
0

Anzeige



#2 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 19. Februar 2004 - 21:03

ich hatte sowas mal vor nem guten halben jahr gemacht und da hatte ich das dann ziemlich umständlich über nen extra erst aufgebauten Stream zum Webserver geregelt, sodass ich beliebige HTTP Requestes dahin schicken konnte.

Ich würd mir aber evtl. mal das ausgelesene aus der html Datei ausgeben lassen, dann siehste gleich, obs am auslesen liegt oder anw as anderem.
0

#3 Mitglied ist offline   fitness-sir 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 09. Oktober 03
  • Reputation: 0

geschrieben 20. Februar 2004 - 12:34

bis dahin komm ich leider gar nicht.
da fseek auf http:// nicht erlaubt ist, laut fehlermeldung!

Warning: fseek(): stream does not support seeking in D:\php\php_server\xampp\htdocs\sport1.php on line 27


gruß fitness-sir
0

#4 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 20. Februar 2004 - 14:51

probier mal die Funktion file("Adresse des Dokuments")
file() liest gleich die ganze Datei komplett ein, was auch ohne fopen() gehen sollte.
Entstehen sollte durch die Funktion ein Array, bei dem jedes Element einer Zeile entspricht.
0

#5 Mitglied ist offline   fitness-sir 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 09. Oktober 03
  • Reputation: 0

geschrieben 20. Februar 2004 - 21:50

hab es jetz im ansatz mit einem array gelöst!
also mittels file().
weiter bin ich noch nicht, werd mich we damit beschäftigen.
wenn ich die zeilen dann mit string funktionen verarbeitete, könnte ich mein ziel erreichen!

aber dennoch bin ich der meinung, dass es irgend eine einfache lösung geben muss, wenn man sich 2, 3 zeilen von einer webseite "klauen" will, bspw. wetterdaten oder sportergebnisse.

gruß fitness-sir
0

#6 Mitglied ist offline   Morpheus3k 

  • Gruppe: aktive Mitglieder
  • Beiträge: 42
  • Beigetreten: 29. Dezember 03
  • Reputation: 0
  • Wohnort:Wien

geschrieben 20. Februar 2004 - 23:03

Ich hab extra für dich mal nachgesehen, wie die Funktion heißt,
mit der man HTML-Code extrahieren kann!

Auszug aus dem Buch "PHP 4" von bhv:

Zitat

fgetss()

Die Funktion liest zeilenweise eine Datei und entfernt dabei alle
HTML- und PHP-Tags. Mit dem optionalen dritten Parameter
können alle Tags angegeben werden, die nicht entfernt werden
sollen.

Syntax:

string fgetss (int fp, int length[, string allowable_tags])

fp = Der Zeiger auf die Datei
length = Die Anzahl der zu lesenden Byte
allowable_tags = Die Tags, welche in dem Dokument erhalten bleiben sollen


Beispiel:
<?php
$fd = fopen("http://www.winfuture.de/news,13357.html", "r");
while (!feof($fd)) {
  $zeile = fgetss($fd, 1000, "<a>");
  echo $zeile;
  }
fclose($fd);
?>


Und ich hab das gerade ausprobiert! Es funktioniert ohne Probleme!
(auch die Funktion "fopen" in Verbindung mit "http://")

Also kopier mal das Beispiel in eine Datei und teste es!

Ich hoffe, ich konnte helfen!

Martin
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0