hallo,
hallo
Weiss jemand, wie ich [...] den Fehler einkreisen kann?
Ja: mehrfach drumherumlaufen.
haha ... witz komm raus du bist umzingelt *g*
Alternativ könntest du unter Umständen auch den relevanten Code angeben.
em ... das kann ich schon ... is nur relativ viel ;)
$r = new HTTPRequest("http://".$_POST["host"]."/logs.php?session=".$sess."&such=".$admin);
$ary = $r->DownloadToArry();
Dies wird bis zu 5 mal (mit unterschiedlichen parametern) ausgeführt. die Klasse HTTPRequest sieht dann so aus:
class HTTPRequest
{
var $_fp; // HTTP socket
var $_url; // full URL
var $_host; // HTTP host
var $_protocol; // protocol (HTTP/HTTPS)
var $_uri; // request URI
var $_port; // port
// scan url
function _scan_url(){
$req = $this->_url;
$pos = strpos($req, '://');
$this->_protocol = strtolower(substr($req, 0, $pos));
$req = substr($req, $pos+3);
$pos = strpos($req, '/');
if($pos === false) $pos = strlen($req);
$host = substr($req, 0, $pos);
if(strpos($host, ':') !== false) list($this->_host, $this->_port) = explode(':', $host);
else{
$this->_host = $host;
$this->_port = ($this->_protocol == 'https') ? 443 : 80;
}
$this->_uri = substr($req, $pos);
if($this->_uri == '') $this->_uri = '/';
}
// constructor
function HTTPRequest($url){
$this->_url = $url;
$this->_scan_url();
}
function DownloadToArry(){
$crlf = "\r\n";
// generate request
$req = 'GET ' . $this->_uri . ' HTTP/1.0' . $crlf . 'Host: ' . $this->_host . $crlf . $crlf;
// fetch
$this->_fp = fsockopen(($this->_protocol == 'https' ? 'ssl://' : '') . $this->_host, $this->_port);
fwrite($this->_fp, $req);
while(is_resource($this->_fp) && $this->_fp && !feof($this->_fp)) $response .= fread($this->_fp, 1024);
fclose($this->_fp);
// split header and body
$pos = strpos($response, $crlf . $crlf);
if($pos === false) return($response);
$header = substr($response, 0, $pos);
$body = substr($response, $pos + 2 * strlen($crlf));
// parse headers
$headers = array();
$lines = explode($crlf, $header);
foreach($lines as $line)
if(($pos = strpos($line, ':')) !== false)
$headers[strtolower(trim(substr($line, 0, $pos)))] = trim(substr($line, $pos+1));
return explode("\n",$body);
}
}
Oder dafür sorgen, daß dein log-File eben nicht größer wird, sondern, sofern es diese Größe erreicht, einfach ein neues angelegt wird.
Geht leider nicht, da ich weder einfluss noch schreibrechte auf das File hab.
Grüße aus Berlin
Grüsse aus der Schweiz ;)
CrAcKeR