Hallo Leute,
ich habe ein XML File, was auf einen anderen Server liegt und alle 5 Minuten erneuert wird. Damit ich nicht ständig über xsl in html output parse möchte ich zuerst prüfen, ob das locale file (der letzte html output vom parser) älter ist, als das XML File auf dem anderen Server.
Wie stelle ich das an, dass ich ihm eine art Fake Get Verbindung zuschiesse, damit ich an die Header Infos der Datei komme (if-modified-since oder so ähnlich heisst die Variable)??
Für Hilfe wäre ich sehr dankbar!
datei auf fremden server prüfen (explizit modified)
-
- Mitglied
- Beiträge: 205
- Registriert: 18.03.2003 16:17
- Wohnort: Esslingen
- Kontaktdaten:
-
- Mitglied
- Beiträge: 205
- Registriert: 18.03.2003 16:17
- Wohnort: Esslingen
- Kontaktdaten:
hast du auf den externen server zugiff?
ansonsten musst du dir ein scirpt suchen das sich mit dem http server unterhalten kann. ( in diesem script taucht das fsockopen wieder auf )
ah
edit: in dem kommantaren ist sogar eins das du verwenden kannst:
ansonsten musst du dir ein scirpt suchen das sich mit dem http server unterhalten kann. ( in diesem script taucht das fsockopen wieder auf )
ah
edit: in dem kommantaren ist sogar eins das du verwenden kannst:
Code: Alles auswählen
<?php
/*
* @return boolean
* @param string $link
* @desc Überprüft die angegeben URL auf Erreichbarkeit (HTTP-Code: 200)
*/
function url_validate( $link )
{
$url_parts = @parse_url( $link );
if ( empty( $url_parts["host"] ) ) return( false );
if ( !empty( $url_parts["path"] ) )
{
$documentpath = $url_parts["path"];
}
else
{
$documentpath = "/";
}
if ( !empty( $url_parts["query"] ) )
{
$documentpath .= "?" . $url_parts["query"];
}
$host = $url_parts["host"];
$port = $url_parts["port"];
// Now (HTTP-)GET $documentpath at $host";
if (empty( $port ) ) $port = "80";
$socket = @fsockopen( $host, $port, $errno, $errstr, 30 );
if (!$socket)
{
return(false);
}
else
{
fwrite ($socket, "HEAD ".$documentpath." HTTP/1.0\r\nHost: $host\r\n\r\n");
// ab hier muss das script geändert werden...
$http_response = fgets( $socket, 22 );
if ( ereg("200 OK", $http_response, $regs ) )
{
return(true);
fclose( $socket );
} else
{
// echo "HTTP-Response: $http_response<br>";
return(false);
}
}
}
?>
-
- Mitglied
- Beiträge: 205
- Registriert: 18.03.2003 16:17
- Wohnort: Esslingen
- Kontaktdaten: