Jan 15, 2002 #1 youradds Programmer Jun 27, 2001 817 GB Does anyone know of how/a function that will get the status of a page? I.e. 500, 404, 4093 etc. I've had a look through the manual, but couldn't see anything :9 Thanks in advance Andy
Does anyone know of how/a function that will get the status of a page? I.e. 500, 404, 4093 etc. I've had a look through the manual, but couldn't see anything :9 Thanks in advance Andy
Jan 16, 2002 #2 mcvdmvs Technical User Sep 18, 2000 172 NL The following functions do i use to get status from servers for link checking (the curl version i left at home, if u want that as weel, just say it) # object GetHeaders(string): function GetHeaders($url){ $this->check_curl(); if($this->mCurl) $headers = $this->get_curl_headers($url); else $headers = $this->get_headers($url); if(!$headers) return FALSE; $head = new heading; $head->url = $url; foreach($headers as $header){ if (eregi("^HTTP/", $header)){ $header = explode(" ", $header); $head->http = substr($header[0], 5, 3); $head->errornr = $header[1]; $head->errorname = $header[2]; $head->erroruitleg = $this->error_uitleg[$header[1]]; } if (eregi("server:", $header)){ $server_vars = explode(" ", $header); $server = new server(); $server->webserver = $server_vars[1]." ".$server_vars[2]; $server->omgeving = $server_vars[4]." ".$server_vars[5]; $head->server = $server; } if (eregi("content-type:", $header)){ $head->content = substr($header, 14); } } return $head; } // end GetHeaders # array get_headers(string): haal een lijst van headers op via een socket # function get_headers($url){ $host = $this->define_host($url); if(!$host) return FALSE; $sock = fsockopen($host->host, $host->port); if (!$sock) return FALSE; $dump .= "GET ".$host->path." HTTP/1.1\r\n"; $dump .= "Host: ".$host->host."\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("<body", $str)) break; $headers[] = $str; } fclose($sock); return $headers; } // end get_headers mcvdmvs -- "It never hurts to help" -- Eek the Cat Upvote 0 Downvote
The following functions do i use to get status from servers for link checking (the curl version i left at home, if u want that as weel, just say it) # object GetHeaders(string): function GetHeaders($url){ $this->check_curl(); if($this->mCurl) $headers = $this->get_curl_headers($url); else $headers = $this->get_headers($url); if(!$headers) return FALSE; $head = new heading; $head->url = $url; foreach($headers as $header){ if (eregi("^HTTP/", $header)){ $header = explode(" ", $header); $head->http = substr($header[0], 5, 3); $head->errornr = $header[1]; $head->errorname = $header[2]; $head->erroruitleg = $this->error_uitleg[$header[1]]; } if (eregi("server:", $header)){ $server_vars = explode(" ", $header); $server = new server(); $server->webserver = $server_vars[1]." ".$server_vars[2]; $server->omgeving = $server_vars[4]." ".$server_vars[5]; $head->server = $server; } if (eregi("content-type:", $header)){ $head->content = substr($header, 14); } } return $head; } // end GetHeaders # array get_headers(string): haal een lijst van headers op via een socket # function get_headers($url){ $host = $this->define_host($url); if(!$host) return FALSE; $sock = fsockopen($host->host, $host->port); if (!$sock) return FALSE; $dump .= "GET ".$host->path." HTTP/1.1\r\n"; $dump .= "Host: ".$host->host."\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("<body", $str)) break; $headers[] = $str; } fclose($sock); return $headers; } // end get_headers mcvdmvs -- "It never hurts to help" -- Eek the Cat
Jan 16, 2002 #3 mcvdmvs Technical User Sep 18, 2000 172 NL forgot this: # object define_host(string): geef een object terug met alle gegevens van de host # function define_host($url) { $urlArray = parse_url($url); if (!$urlArray) return FALSE; $host = new host; foreach ($urlArray as $key => $value) { $host->$key = $value; } return $host; } // end define_host mcvdmvs -- "It never hurts to help" -- Eek the Cat Upvote 0 Downvote
forgot this: # object define_host(string): geef een object terug met alle gegevens van de host # function define_host($url) { $urlArray = parse_url($url); if (!$urlArray) return FALSE; $host = new host; foreach ($urlArray as $key => $value) { $host->$key = $value; } return $host; } // end define_host mcvdmvs -- "It never hurts to help" -- Eek the Cat