Hallo habe ein ganz großes Problem! habe folgenden ausschnitt aus CyTS (eine klasse für teamspeak)
mein problem ist wie kann ich das anders realisieren bzw. kann mir jemand genau erklären was diese klasse mit den ganzen informationen macht,
denn ich verstehe es nicht ganz was es macht denn versuche diese klasse auseinander zu klamüsern aber finde keinen richtigen anhaltspunkt...
Alles anzeigen
mein problem ist wie kann ich das anders realisieren bzw. kann mir jemand genau erklären was diese klasse mit den ganzen informationen macht,
denn ich verstehe es nicht ganz was es macht denn versuche diese klasse auseinander zu klamüsern aber finde keinen richtigen anhaltspunkt...
Quellcode
- /**
- * _wipost: Sends a Request to the Webinterface using HTTP POST Method
- *
- * @access private
- * @author Steven Barth
- * @version 2.0
- * @return string returns the server's return data
- */
- function _wipost($sFile, $sCall=array(), $sTimeout = 3) {
- if (!$this->wiPort) return false;
- $pCall = array();
- foreach ($sCall as $key => $val) {
- $pCall[] = "$key=".urlencode($val);
- }
- $sCall = implode("&", $pCall);
- $fp = @fsockopen($this->server, $this->wiPort, $errno, $errstr, $sTimeout);
- if (!$fp) return false;
- fputs($fp, "POST $sFile HTTP/1.1\r\n");
- fputs($fp, "Host: $this->server\r\n");
- fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
- if ($this->wiCookie)
- fputs($fp, "Cookie: ".$this->wiCookie."\r\n");
- fputs($fp, "Content-length: ". strlen($sCall) ."\r\n");
- fputs($fp, "Connection: close\r\n\r\n");
- fputs($fp, $sCall);
- $hPattern = '/([A-Za-z0-9_-]+): *(.*)\r\n/i';
- $header = array();
- do {
- $cRead = fgets($fp);
- if (preg_match($hPattern, $cRead, $content))
- $header["{$content[1]}"] = $content[2];
- elseif (trim($cRead) != "")
- $header[] = trim($cRead);
- } while($cRead != "\r\n");
- if (!isset($header["Content-Length"])) {
- $content = "";
- } else {
- $dLen = $header["Content-Length"];
- $content = '';
- while ($dLen >= 1024) {
- $content .= fread($fp, 1024);
- $dLen -= 1024;
- }
- if ($dLen > 0)
- $content .= fread($fp, $dLen);
- }
- fclose($fp);
- return array($header, $content);
- }
- /**
- * _wiget: Sends a Request to the Webinterface using HTTP GET Method
- *
- * @access private
- * @author Steven Barth
- * @version 2.0
- * @return string returns the server's return data
- */
- function _wiget($sFile, $sTimeout = 3) {
- if (!$this->wiPort) return false;
- $fp = @fsockopen($this->server, $this->wiPort, $errno, $errstr, $sTimeout);
- if (!$fp) return false;
- fputs($fp, "GET $sFile HTTP/1.1\r\n");
- fputs($fp, "Host: $this->server\r\n");
- if ($this->wiCookie)
- fputs($fp, "Cookie: ".$this->wiCookie."\r\n");
- fputs($fp, "Connection: close\r\n\r\n");
- $hPattern = '/([A-Za-z0-9_-]+): *(.*)\r\n/i';
- $header = array();
- do {
- $cRead = fgets($fp);
- if (preg_match($hPattern, $cRead, $content))
- $header["{$content[1]}"] = $content[2];
- elseif (trim($cRead) != "")
- $header[] = trim($cRead);
- } while($cRead != "\r\n");
- if (!isset($header["Content-Length"])) {
- $content = "";
- } else {
- $dLen = $header["Content-Length"];
- $content = '';
- while ($dLen >= 1024) {
- $content .= fread($fp, 1024);
- $dLen -= 1024;
- }
- if ($dLen > 0)
- $content .= fread($fp, $dLen);
- }
- fclose($fp);
- return array($header, $content);
- }
Beste Grüße,
M4rc3L-XCN
M4rc3L-XCN