PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   404 auslesen (https://www.php-resource.de/forum/php-developer-forum/101141-404-auslesen.html)

sepp 03-02-2011 16:22

404 auslesen
 
Hallo zusammen

Ich würde gerne Links und Linkbilder auf meiner Seite auf Gültigkeit prüfen. Das heisst wenn die Seite nicht mehr on ist ist es kein Problem mit.
PHP-Code:

$check = @fsockopen($host80$errno$errstr1); 

Aber wie gehe ich vor, wenn der Betrieber der fernen Seite das Bild welches auf meiner Seite verlink ist gelöscht wurde und der Link auf einer 404 Seite landet.

Danke für Eure Tipps

onemorenerd 03-02-2011 16:58

Sende einen ordentlichen GET-Request und werte den Response-Code aus. (Weiterleitungen folgen!)

sepp 03-02-2011 18:22

Hilfe das verstehe ich nicht ganz - sorry

onemorenerd 04-02-2011 00:13

Du öffnest ein Socket. Bei Timeout ist klar, dass das gesuchte Bild nicht zu bekommen ist. Aber bei Erfolg musst du einen HTTP-GET-Request senden und den Status-Header der Antwort auswerten.

Ich rate dir allerdings, das alles mit Curl zu machen. Auf PHP: cURL - Manual findest du einige Beispiele dazu.

combie 04-02-2011 11:48

Das geht auch über den fopen-url-wrapper ....
Der folgt auch Weiterleitungen (bis zu 5?)
Und GET ist nicht unbedingt nötig, angemessener ist ein HEAD Request.

sepp 08-02-2011 17:56

Und wie genau kann ich das mit fopen-url-wrapper erreichen? Mir wäre es auch lieber ohne GET

combie 08-02-2011 18:22

Zitat:

Sending POST and PUT requests, for example, can be done with the help of HTTP Contexts.
Aus: PHP: HTTP and HTTPS - Manual

onemorenerd 08-02-2011 18:30

Ungefähr so:
PHP-Code:

if (false === @fopen($url'r'falsestream_context_create(array('http'=>array('method'=>"HEAD"))))) {
    
// not available
} else {
    
// available




Alle Zeitangaben in WEZ +2. Es ist jetzt 13:32 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG