本文整理汇总了PHP中Main::download方法的典型用法代码示例。如果您正苦于以下问题:PHP Main::download方法的具体用法?PHP Main::download怎么用?PHP Main::download使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Main
的用法示例。
在下文中一共展示了Main::download方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: downloadHttp
/**
* Efficiently Download a file through HTTP. Returns downloaded file as a string in-memory
* This is best used for small files
*
* If an HTTP proxy has been configured (http_proxy Pyrus\Config
* setting), the proxy will be used.
*
* @param string $url the URL to download
* @param false|string|array $lastmodified header values to check against
* for caching use false to return
* the header values from this download
* @param false|array $accept Accept headers to send
*
* @return string|array Returns the contents of the downloaded file or a PEAR
* error on failure. If the error is caused by
* socket-related errors, the error object will
* have the fsockopen error code available through
* getCode(). If caching is requested, then return the header
* values.
*
* @throws Pyrus\REST\Exception if the url is invalid
* @access public
*/
function downloadHttp($url, $lastmodified = null, $accept = false)
{
$info = parse_url($url);
if (!isset($info['scheme']) || !in_array($info['scheme'], array('http', 'https'))) {
throw new REST\Exception('Cannot download non-http URL "' . $url . '"');
}
if (!isset($info['host'])) {
throw new REST\Exception('Cannot download from non-URL "' . $url . '"');
}
$response = Main::download($url);
if ($response->code == 304 && ($lastmodified || $lastmodified === false)) {
return false;
}
if (isset($response->headers['content-length'])) {
$length = $response->headers['content-length'];
} else {
$length = -1;
}
$data = $response->body;
if ($lastmodified === false || $lastmodified) {
if (isset($response->headers['etag'])) {
$lastmodified = array('ETag' => $response->headers['etag']);
}
if (isset($response->headers['last-modified'])) {
if (is_array($lastmodified)) {
$lastmodified['Last-Modified'] = $response->headers['last-modified'];
} else {
$lastmodified = $response->headers['last-modified'];
}
}
return array($data, $lastmodified, $response->headers);
}
return $data;
}
示例2: _fromURL
/**
* Attempts to get the xml from the URL specified.
*
* @param string $xml_url URL to the channel xml http://pear.php.net/channel.xml
*
* @return string Channel XML
*/
protected function _fromURL($xml_url)
{
$response = Main::download($xml_url);
return $response->body;
}