コード例 #1
0
 function downloadToString()
 {
     $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));
         }
     }
     // redirection?
     if (isset($headers['location'])) {
         $http = new ilHttpRequest($headers['location']);
         return $http->DownloadToString($http);
     } else {
         return $body;
     }
 }
コード例 #2
0
ファイル: class.ilSetup.php プロジェクト: bheyser/qplskl
 /**
  * Check latex cgi script
  *
  * @param	string		latex cgi url
  * @return	boolean		true -> OK | false -> not OK	
  */
 function testLatex($a_latex_url)
 {
     // latex is optional, so empty path is ok
     if (trim($a_latex_url) == "") {
         return "";
     }
     // open the URL
     include_once "./setup/classes/class.ilHttpRequest.php";
     $http = new ilHttpRequest(ilUtil::stripSlashes($a_latex_url) . "?x_0");
     $result = @$http->downloadToString();
     if (strpos(substr($result, 0, 5), "PNG") !== FALSE || strpos(substr($result, 0, 5), "GIF") !== FALSE) {
         return "";
     } else {
         return "check_failed_latex";
     }
 }