Prüfen ob URL existiert und pfad sprich domain.com/user/xxxxxxx

Hallo habe diesen beitrag gefunden

/t/pruefen-ob-url-existiert-und-funktioniert/2138365/5

leider funktioniert das bei mir nicht.

das ist im grunde schon sowas was ich suche nur noch etwas weiter soll es gehen.

Ich möchte das man eine domain auf ein pfad überprüfen kann ob er exestiert.

Die domain ist dann schon hinterlegt
sprich http:///domain.com

und der user giebt im eingabe feld sein username ein sprich hier zb. xxxxx

also soll dan diese domain und pfad überprüft werden

http:///domain.com/user/xxxxxxx

kann mir da jemand helfen ???

mfg Sero777

Hi,
ich hätte das spontan auch über den Code Response-Header gemacht.
Leider wird allerdings nicht immer bei benutzerdefinierten Fehlernachrichtsseiten der entsprechende Code im Header gesetzt, weshalb die Methode nicht zwingend überall funktioniert.

Die Methode mit dem Response-Header sollte aber schon mal viele Seiten abdecken.

Ansonsten könnte man z.B. zusätzlich noch per Regex testen, ob diverse Pattern matchen, die benutzerdefinierte Fehlerseiten ohne entsprechenden Header finden können. Dafür müsste man dann ein paar Seiten, von denen man weiß, dass sie in diese Kategorie gehören, ansurfen und entsprechende Patterns erzeugen.

Zusätzlich gibt es noch das Problem, dass man nicht alles testen kann, weil man bei manchen Seiten angemeldet sein muss, damit man überhaupt testen kann, ob die gewünschte Seite existiert.

Geht es dir um eine bestimmte Seite oder um viele verschiedene?

Gruß
Michael

Ungetestet… aber mit PHP sollte es so gehn…

<?php $dir = 'http://www.google.de/test';
if (file\_exists($dir)) { echo "Die Datei $dir existiert!"; } else { echo "Die Datei $dir existiert nicht!"; } ?\>

wie gesagt mir geht es um eine bestimmte seit, deswegen wird auch schon Die domain schon hinterlegt
sprich http:///domain.com

leider bin ich kein coder und bräuchte schon eine beispiel php zum anpassen.
der user soll nur noch sein account ein geben in ein inputfield und dann soll geprüft werden ob es den giebt

Ach so. Ich dachte domain.com sei irgendeine Beispieldomain gewesen.

Im konkreten Fall von domain.com wird für domain.com/user/irgendeinBenutzername beim Nichtauffinden der Code 404 im Header gesetzt, womit das Skript, das du verlinkt hattest, funktionieren sollte.

Ne domain.com ist schon irgendeine Domain.

Leider habe ich beim testen dieses script
/t/pruefen-ob-url-existiert-und-funktioniert/2138365/5
eine leere Seite als Ausgabe.

Und ich bräuchte dies modifiziert mit der Überprüfung,
wenn ein user in ein eingabe feld sein user name ein giebt das dieser dann domain.com/user/irgendeinBenutzername überprüft wird.

gr. sero777

Leider bleibt bei dieser version selbst auf der eigenen domain das ergebnis existiert nicht!

auch wenn ich die index.php mit angebe

aber der ansatz ist schon sehr gut

Das ist ein Beispiel von der Dokumentationseite von PHP…
Sollte gehn, die Abfrage verwende ich selbst.

<?php $filename = 'http://www.google.de/foo.txt';
if (file\_exists($filename)) { echo "Die Datei $filename existiert"; } else { echo "Die Datei $filename existiert nicht"; } ?\>

Ja die habe ich auch dort gefunden, ich hab es mal folgendes versucht aber leider ohne ergebnis. weder datei noch ein verzeichnis werden auf dem selben server gefunden. wo ist mein fehler nur
kann das an meiner php version liegen ?

http://swonpy.de/url-test6.php

<?php $dir = 'http://swonpy.de/test';
if (file\_exists($dir)) { echo "Die Datei $dir existiert!"; } else { echo "Die Datei $dir existiert nicht!"; } $dir1 = '[http://swonpy.de/admin](http://swonpy.de/admin)'; if (file\_exists($dir1)) { echo "Die Datei $dir1 existiert!"; } else { echo "Die Datei $dir1 existiert nicht!"; } $filename = '[http://swonpy.de/index.php](http://swonpy.de/index.php)'; if (file\_exists($filename)) { echo "Die Datei $filename existiert"; } else { echo "Die Datei $filename existiert nicht"; } ?\>

GETESTET :smile:

<?php // URL auf Existenz überprüfen \\
//Funktion deklarieren function url\_check($url) { $hdrs = @get\_headers($url); return is\_array($hdrs) ? preg\_match('/^HTTP\\/\\d+\\.\\d+\\s+2\\d\\d\\s+.\*$/',$hdrs[0]) : false; }; //URL pruefen if(url\_check('[http://www.tftc.cc/gamer/')){](http://www.tftc.cc/gamer/'))%7B) // WICHTIG URL MUSS AUF / ENDEN!!! //URL gueltig echo '[http://www.tftc.cc/gamer](http://www.tftc.cc/gamer) ist erreichbar!'; } else { //URL ungueltig echo '[http://www.tftc.cc/gamer](http://www.tftc.cc/gamer) ist NICHT erreichbar!'; }; ?\> <?php // Datei auf Verfügbarkeit prüfen \\
//URL pruefen if(url\_check('[http://www.tftc.cc/favicon.ico2')){](http://www.tftc.cc/favicon.ico2'))%7B) //URL gueltig echo 'Icon'; } else { //URL ungueltig echo 'XXX'; }; ?\>

Das klappt wunderbar danke schonmal.

jetzt habe ich noch ein problem. Diese seite die ich abfrage erstellt autoseiten bzw.

domain.com/user/userXXX/

das heißt dieses verzeichnis wird kurz erstellt aber mit file not found als eine index seite

wie kann ich jetzt den tag
Sorry, that page doesnʹt exist abfragen

gr. sero

was wird auf der Errorpage alles ausgegeben?
Man kann eine Seite „Einlesen“ und dann den Inhalt auf einen String überprüfen.

Probiers mit file_get_contents()

<?php $check = file_get_contents('http://test.de/');
if(strpos($check,"Presse")!==false) { echo 'Suchbegriff "Presse" gefunden'; } else { echo 'Suchbegriff "Presse" nicht gefunden'; } ?\>

Dann tut es mir leid.
Ich helfe gerne, wenn es irgendwelche _konkreten Fragen_ zur Programmierung gibt, weiter, aber ich finde nicht, das diese Plattform eine Anlaufstelle ist um kostenlose Softwareentwickler zu finden.

Wenn du dich etwas in PHP (und für das Eingabefeld auch HTML) einarbeitest und dann spezifische Fragen hast, werde ich dir sofort gerne weiterhelfen.

Gruß
Michael

<?php $check = file_get_contents('http://test.de/');
if(strpos($check,"Sorry")!==false) { echo 'Suchbegriff "Sorry" gefunden'; } else { echo 'Suchbegriff "Sorry" nicht gefunden'; } ?\> Wau das klapt besser als ich gehofft habe. Danke :smile: so wie kann ich jetzt das in mein anmelde formular einbinden das der wert von eingabe formular (username) auf der xxx.com mit der funktion $check = file\_get\_contents geprüft wird. Sollte Sorry beim prüfen sein soll eine msg aufgehen mit prüfen sie den namen. könten sie mir damit noch helfen dan bin ich auch fertig Das ist mein formular: Origin™ Gamer Name E-mail Password () [Forgot password?](http://domain.de/clan/index.php?user-remind) Und danke noch mal für die tolle hilfe

Moin,

entweder du bist am Netz: URL.open() oder so ähnlich und dann siehst du ja ob ne Exception zurueckkommt.

Oder du bist nicht am Netz, dann wuerde ich das mit ner Java Regular Expression (regex) loesen.

VG
Kai

Hallo Sero,

entschuldige bitte die späte Antwort, wir waren im Ausland und hatten dort kein Internet…

Kurz vorneweg: Auf der von dir genannten Seite wird beschrieben, wie man mit PHP einen beliebigen Link überprüft. Dazu wird der Link in den Host-Teil und den hostrelativen Pfad geteilt, für den Host ein Socket erstellt und per HTTP der relative Pfad abgefragt. Der Host sendet dann einen entsprechenden Antwort-Code, dieser wird ausgewertet.

Dafür ist allerdings einerseits serverseitig installiertes PHP erforderlich, andererseits muss der PHP-Interpreter auch Zugriff aufs Internet haben.

So wie dargestellt, würde ich das allerdings serverseitig nicht lösen - entweder per JavaScript browserseitig, oder aber in einem separaten Thread, der zyklisch immer wieder - z. B. stündlich - die externen ULRs prüft und das Ergebnis zwischenspeichert, das dann jeweils beim Seitenaufruf ausgelesen wird.

Von der Fragestellung her allerdings würde ich davon ausgehen, dass es bei dem Ganzen eher um die Identifizierung eines berechtigten Benutzers geht - richtig?

In diesem Falle empfehle ich, die PHP-eigene Funktionalität zu nutzen - ggf. dann auch Sessions. Hier ein paar Links dazu:
http://www.php.net/manual/en/features.http-auth.php
http://aktuell.de.selfhtml.org/artikel/php/loginsystem/
http://www.php.net/manual/en/book.session.php

Wenn es tatsächlich nur um Pfadprüfungen auf dem lokalen Host geht, solltest du eigentlich Zugriff auf das Dateisystem (unterhalb deines eigenen Verzeichnisses) haben und dort entsprechende Abfragen ausführen können:
http://www.php.net/manual/en/refs.fileprocess.file.php

Vielleicht ist auch mit einer spezifischen 404-Seite bereits geholfen (der Fehler 404 besagt, dass ein Inhalt nicht auf dem Server gefunden wurde):
http://www.abseits.de/error404_seiten.htm

Wenn ich dir ansonsten noch weiterhelfen kann, scheue dich nicht, nochmal zu fragen - bitte dann allerdings detaillierter:

  • Was genau möchtest du tun?

  • Soll es browser- oder serverseitig gelöst werden? Warum?

  • In welcher Sprache soll das Problem gelöst werden (serverseitig)?

  • Welche hilfsmittel stehen dir zur Verfügung (z. B. Datenbank)?

Viele Grüße
Sandro

Was funktioniert den an dem gegebenem Beispiel nicht? Nach kurzem überfliegen würde ich sagen ließt das Programm aus der Antwort des Server den HTML Status code aus (siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). was passiert den bei dir?