php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-02-2009, 17:43
hds26846
 Newbie
Links : Onlinestatus : hds26846 ist offline
Registriert seit: Feb 2009
Beiträge: 4
hds26846 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wikipedia-Seiten prüfen

ich bin php-neuling !

ich versuche schon seit einigen tagen folgendes problem
zu lösen :


eine wikipedia-datei zb. http://de.wikipedia.org/wiki/Berlin soll
überprüft werden , ob sie noch unter diesem namen vorhanden
ist .

ist sie vorhanden dann ausgabe: datei ist vorhanden !

ist sie nicht vorhanden ausgabe : datei ist nicht vorhanden !

ich hoffe , dies ist mit php möglich .

dank vorab !!!!!!!
Mit Zitat antworten
  #2 (permalink)  
Alt 15-02-2009, 17:58
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Die Wikipedia sendet dir bei einem nicht vorhandenen Lemma einen 404-Header. Den kann man natürlich mit PHP auswerten. Stichwort wäre hier zum Beispiel curl.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-02-2009, 18:01
ModestLife
 Registrierter Benutzer
Links : Onlinestatus : ModestLife ist offline
Registriert seit: Sep 2007
Beiträge: 105
ModestLife ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das dürfte ziemlich einfach sein. Wikipedia schickt bei Seiten dies es nicht gibt (z.B. http://de.wikipedia.org/wiki/Berlin2) einen 404 Header mit. Deshalb kann dir die Response ziemlich egal sein.

Also: Guck dir cURL (http://ch.php.net/curl) an um dir damit die Headers zu holen. Danach validierst du den Statuscode: 200 = Artikel existiert, 404 = Artikel existiert nicht. Eventuell könntest du vor dem Request auch noch überprüfen ob Wikipedia überhaupt erreichbar ist, indem du einen Artikel auf den Statuscode 200 überprüfst, der ganz bestimmt existieren sollte.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-02-2009, 18:51
lennart
 PHP Junior
Links : Onlinestatus : lennart ist offline
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
lennart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ModestLife
Eventuell könntest du vor dem Request auch noch überprüfen ob Wikipedia überhaupt erreichbar ist, indem du einen Artikel auf den Statuscode 200 überprüfst, der ganz bestimmt existieren sollte.
Oder einfach die Wikipedia Startseite der jeweiligen Sprache. Das kann aber auch von unterschiedlichen Servern kommen. Eigentlich sollte curl aber auch selbst mitteilen dass der Server nicht erreichbar ist bzw ein Timeout aufgetreten ist.
Mit Zitat antworten
  #5 (permalink)  
Alt 15-02-2009, 19:37
hds26846
 Newbie
Links : Onlinestatus : hds26846 ist offline
Registriert seit: Feb 2009
Beiträge: 4
hds26846 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für die tollen antworten !

ich bin pnp-neuling.

habe in diesem forum auf etwas bessere hilfe gehofft !

aber trotzdem danke für die mühe !!!!
Mit Zitat antworten
  #6 (permalink)  
Alt 15-02-2009, 19:45
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von hds26846
danke für die tollen antworten !
...
habe in diesem forum auf etwas bessere hilfe gehofft !
was hast du erwartet? fertigen code?
Zitat:
Original geschrieben von hds26846
aber trotzdem danke für die mühe !!!!
ist das jetzt ernst gemeint oder sarkastisch?

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 15-02-2009, 19:57
Laire
 Registrierter Benutzer
Links : Onlinestatus : Laire ist offline
Registriert seit: May 2004
Beiträge: 739
Laire ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hatte am Anfang auch immer gohofft fertige codes zu bekommen ;-) Aber so musst du dich damit mehr auseinandersetzten und lernst nach und nach immer mehr php...

Die Hilfestellung ist gut, die dir hier gegeben wird. Wenn Du fertige Codes haben willst, musst du wen engagiere.
Mit Zitat antworten
  #8 (permalink)  
Alt 15-02-2009, 22:31
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von hds26846
danke für die tollen antworten !

ich bin pnp-neuling.

habe in diesem forum auf etwas bessere hilfe gehofft !

aber trotzdem danke für die mühe !!!!
Naja, das ist hier halt so, dass manche gerne Antworten in der Art "Das Problem ist lösbar" oder "Ich hab das Problem schonmal gehabt, du schaffst das auch" verfassen. ;-)

Dieses Forum ist für dich kostenlos. Und wie sagte schon meine Omma? Genau: Was nix kostet, ist auch nix. ;-)

Prinzipiell kann PHP, wenn es richtig eingestellt ist, "entfernte Dateien" ganz einfach mit file_get_contents() laden. Dazu müssen aber die "geheimnisvollen" URL-fopen-Wrapper aktiviert sein. Und mit file_get_contents() lädt dein Script auch immer die komplette Datei vom Wikipedia-Webserver runter. Also nix HTTP-Statuscode prüfen. In dem Fall müsstest du im Quelltext der Datei nach einem typischen Zeichenmuster schauen, welches bei der "Artikel-nicht-gefunden"-Seite immer auftaucht.

Die elegantere (und Traffic-sparendere) Lösung ist natürlich die, die nur die HTTP-Statuscodes abfragt. Dazu bedarf es aber nicht nur ein wenig HTTP-Hintergrundwissen. Dein PHP muss auch bestimmte Erweiterungen installiert oder bestimmte Funktionen erlaubt haben.

Kuck erstmal, ob deine PHP-Installation was mit CURL anfangen kann:

PHP-Code:
echo extension_loaded('curl') ? 'Curl geht!' 'Mist!'
Und wenn nicht, ob du wenigstens fsockopen() verwenden darfst:

PHP-Code:
echo function_exists('fsockopen') ? 'fsockopen() scheint erlaubt zu sein.' 'Verdammte Scheiße!'
Im Falle von "kein CURL", aber "fsockopen() geht", melde dich bitte nochmal. Da kann ich dir weiterhelfen.
Mit Zitat antworten
  #9 (permalink)  
Alt 16-02-2009, 14:07
hds26846
 Newbie
Links : Onlinestatus : hds26846 ist offline
Registriert seit: Feb 2009
Beiträge: 4
hds26846 ist zur Zeit noch ein unbeschriebenes Blatt
Standard [PHP5]

danke fireweasel !

ich habe mich etwas geärgert , weil einem php-neuling diverse
begriffe um die ohren gehauen werden ohne etwas mehr hintergrundinformation .

deine antwort hört sich aber gut an !

der test ergab , das fsockopen() vorhanden ist .

curl ist leider nicht installiert .

ich hoffe auf weitere nachrichten
Mit Zitat antworten
  #10 (permalink)  
Alt 16-02-2009, 14:10
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du wirst hier halt ohne selber Mitzuarbeiten keinen Code vorgeworfen bekommen. Wenn du konkrete Versuche machst, dein Ziel zu erreichen, wirst du zwangsläufig irgend einen Quelltext produziert haben. Den kannst du zeigen und da helfe ich gerne. Vorkauen werde ich aber nichts.
Mit Zitat antworten
  #11 (permalink)  
Alt 16-02-2009, 14:21
hds26846
 Newbie
Links : Onlinestatus : hds26846 ist offline
Registriert seit: Feb 2009
Beiträge: 4
hds26846 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es geht mir nicht um ein fertigen programmcode .

aber folgende antworten bauen einen neuling nicht auf !!


Die Wikipedia sendet dir bei einem nicht vorhandenen Lemma einen 404-Header. Den kann man natürlich mit PHP auswerten. Stichwort wäre hier zum Beispiel curl.



Das dürfte ziemlich einfach sein. Wikipedia schickt bei Seiten dies es nicht gibt (z.B. http://de.wikipedia.org/wiki/Berlin2) einen 404 Header mit. Deshalb kann dir die Response ziemlich egal sein. Also: Guck dir cURL (http://ch.php.net/curl) an um dir damit die Headers zu holen. Danach validierst du den Statuscode: 200 = Artikel existiert, 404 = Artikel existiert nicht. Eventuell könntest du vor dem Request auch noch überprüfen ob Wikipedia überhaupt erreichbar ist, indem du einen Artikel auf den Statuscode 200 überprüfst, der ganz bestimmt existieren sollte.
Mit Zitat antworten
  #12 (permalink)  
Alt 16-02-2009, 14:55
lennart
 PHP Junior
Links : Onlinestatus : lennart ist offline
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
lennart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde sagen dass war außergewöhnlich freundlich

Schlage nach was du nicht kennst und lerne Grundlagen bevor du mit so etwas anfängst. Kann man nicht oft genug sagen.
Mit Zitat antworten
  #13 (permalink)  
Alt 16-02-2009, 15:21
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von hds26846
es geht mir nicht um ein fertigen programmcode .

aber folgende antworten bauen einen neuling nicht auf !!
[...]
Was erwartest du denn? Alles weitere wäre Programmcode. Hast du Fragen zu einzelnen Fahcbegriffen, dann stelle diese Fragen. Du bist hier der Bittsteller, du willst etwas von uns. Ich muss mir keine Gedanken machen, was genau du erreichen willst, wo deine Stäreken und Schwächen liegen und wie du das am besten umsetzen kannst. Ich helfe dir nur, wenn du etwas konkretes nicht verstehst. Leb damit, oder hoffe, dass dir jemand alles vorkaut.
Mit Zitat antworten
  #14 (permalink)  
Alt 16-02-2009, 19:59
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von lennart
Ich würde sagen dass war außergewöhnlich freundlich
Huch! Da möchte ich aber gar nicht wissen, wie die unfreundliche Antwort ausgefallen wäre.
Sicher, wer sich halbwegs auskennt, wird mit der Auskunft "Prüfe den Statuscode der HTTP-Antwort" zurechtkommen. Aber wer sich halbwegs mit PHP und HTTP auskennt, stellt auch garn nicht solche Fragen. Und wir haben alle mal klein angefangen. Ich habe mich über jedes Quellcodebeispiel gefreut, ganz besonders, wenn noch verständliche Erläuterungen dabei waren. Fsockopen() und alles, was da so dazugehört, ist keine leichte Materie für Einsteiger.

Sooo, und jetzt zu dir hds26846 ...
(Was'n das für'n komisches Pseudo?)

Das Problem sind die Grundlagen. Wie meine beiden Vorposter so treffend bemerkten, ist es ausgesprochen hilfreich, wenn man über entsprechende Basiskenntnisse verfügt. Falls du die nicht hast, empfehle ich dir, dich zuerst mal schlau zu machen, wie das mit dem HTTP und der Kommunikation mit zwischen Client und (Web-)Server so abläuft (Request und Response). Durchaus brauchbar ist hierzu der (deutschsprachige) Wikipedia-Artikel über HTTP.

Weiterhin brauchen wir das PHP-Handbuch zu folgenden Funktionen:
fsockopen()
fwrite()
fread()
fclose()

Du solltest auch einen lokalen Webserver zur Verfügung haben, mit dem du dein Script testen kannst.

... und für den Anfang hab ich dir noch ein fertiges Beispiel-Script ergoogelt, das in etwas das macht, was du möchtest -- eine HTTP-Ressource auf ihr "Vorhandensein" prüfen:

phpLinkCheck.php

Morgen kucken wir dann mal an einem anderen Script, wie ich das Problem gelöst hätte.
Mit Zitat antworten
  #15 (permalink)  
Alt 16-02-2009, 20:07
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Und in Wirklichkeit baust du hier das PHP-Manual nach. Die Querverweise, die Code-Beispiele - kann man auch alles direkt im Handbuch einsehen. Stichworte wurden bereits geliefert. bei konkreten Problemen wird gerne geholfen. Das Mitdenken wir hier aber keinem abgenommen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:57 Uhr.