note 23591 deleted from function.fopen by alindeman
| From: | alindeman@php.net | Date: | Sat, 17 May 2003 21:05:38 +0000 |
| Subject: | note 23591 deleted from function.fopen by alindeman | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-48260@lists.php.net to get a copy of this message | ||
Note Submitter: web at affenkrieger.de
an enhanced version of WebGet (see above):
$file = new GetWebObject("de.php.net", 80, "/");
$data = $file->get_header();
echo $data["status"];
echo $data["Content-Type"];
echo $file->get_content();
class GetWebObject
{
var $host = "";
var $port = "";
var $path = "";
var $header = array();
var $content = "";
function GetWebObject($host, $port, $path)
{
$this->host = $host;
$this->port = $port;
$this->path = $path;
$this->fetch();
}
function fetch()
{
$fp = fsockopen ($this->host, $this->port);
if(!$fp)
{ die("Could not connect to host.");}
$header_done=false;
$request = "GET ".$this->path." HTTP/1.0\r\n";
$request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\r\n";
$request .= "Host: ".$this->host."\r\n";
$request .= "Connection: Close\r\n\r\n";
$return = '';
fputs ($fp, $request);
$line = fgets ($fp, 128);
$this->header["status"] = $line;
while (!feof($fp))
{
$line = fgets ( $fp, 128 );
if($header_done)
{ $this->content .= $line;}
else
{
if($line == "\r\n")
{ $header_done=true;}
else
{
$data = explode(": ",$line);
$this->header[$data[0]] = $data[1];
}
}
}
fclose ($fp);
}
function get_header()
{ return($this->header);}
function get_content()
{ return($this->content);}
}