当前位置: 首页>>代码示例>>PHP>>正文


PHP PEAR::raiseErro方法代码示例

本文整理汇总了PHP中PEAR::raiseErro方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR::raiseErro方法的具体用法?PHP PEAR::raiseErro怎么用?PHP PEAR::raiseErro使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PEAR的用法示例。


在下文中一共展示了PEAR::raiseErro方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: retrieveData

 /**
  * Retrieve a remote REST resource
  * @param string full URL to this resource
  * @param array|false contents of the accept-encoding header
  * @param boolean     if true, xml will be returned as a string, otherwise, xml will be
  *                    parsed using PEAR_XMLParser
  * @return string|array
  */
 function retrieveData($url, $accept = false, $forcestring = false, $channel = false)
 {
     $cacheId = $this->getCacheId($url);
     if ($ret = $this->useLocalCache($url, $cacheId)) {
         return $ret;
     }
     $file = $trieddownload = false;
     if (!isset($this->_options['offline'])) {
         $trieddownload = true;
         $file = $this->downloadHttp($url, $cacheId ? $cacheId['lastChange'] : false, $accept, $channel);
     }
     if (PEAR::isError($file)) {
         if ($file->getCode() !== -9276) {
             return $file;
         }
         $trieddownload = false;
         $file = false;
         // use local copy if available on socket connect error
     }
     if (!$file) {
         $ret = $this->getCache($url);
         if (!PEAR::isError($ret) && $trieddownload) {
             // reset the age of the cache if the server says it was unmodified
             $result = $this->saveCache($url, $ret, null, true, $cacheId);
             if (PEAR::isError($result)) {
                 return PEAR::raiseErro($result->getMessage());
             }
         }
         return $ret;
     }
     if (is_array($file)) {
         $headers = $file[2];
         $lastmodified = $file[1];
         $content = $file[0];
     } else {
         $headers = array();
         $lastmodified = false;
         $content = $file;
     }
     if ($forcestring) {
         $result = $this->saveCache($url, $content, $lastmodified, false, $cacheId);
         if (PEAR::isError($result)) {
             return PEAR::raiseErro($result->getMessage());
         }
         return $content;
     }
     if (isset($headers['content-type'])) {
         switch ($headers['content-type']) {
             case 'text/xml':
             case 'application/xml':
             case 'text/plain':
                 if ($headers['content-type'] === 'text/plain') {
                     $check = substr($content, 0, 5);
                     if ($check !== '<?xml') {
                         break;
                     }
                 }
                 $parser = new PEAR_XMLParser();
                 PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
                 $err = $parser->parse($content);
                 PEAR::popErrorHandling();
                 if (PEAR::isError($err)) {
                     return PEAR::raiseError('Invalid xml downloaded from "' . $url . '": ' . $err->getMessage());
                 }
                 $content = $parser->getData();
             case 'text/html':
             default:
                 // use it as a string
         }
     } else {
         // assume XML
         $parser = new PEAR_XMLParser();
         $parser->parse($content);
         $content = $parser->getData();
     }
     $result = $this->saveCache($url, $content, $lastmodified, false, $cacheId);
     if (PEAR::isError($result)) {
         return PEAR::raiseErro($result->getMessage());
     }
     return $content;
 }
开发者ID:fathitarek,项目名称:cop5725-dbms-project,代码行数:89,代码来源:REST.php


注:本文中的PEAR::raiseErro方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。