本文整理匯總了PHP中Http::do_download方法的典型用法代碼示例。如果您正苦於以下問題:PHP Http::do_download方法的具體用法?PHP Http::do_download怎麽用?PHP Http::do_download使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Http
的用法示例。
在下文中一共展示了Http::do_download方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: download
public function download($save_dir, $save_filename, $ext = true)
{
$b = new Http();
if (!empty($this->original_image_url)) {
$b->do_download($this->original_image_url, File::absolute($save_dir, $save_filename) . ($ext ? ".jpg" : ""));
return;
} else {
$b->do_get($this->url);
if (Tag::setof($tag, $b->body(), "body")) {
foreach ($tag->in("script") as $s) {
if (preg_match("/addVariable\\('url', '(.+?)'\\)/", $s->value(), $match)) {
$b->do_download(trim($match[1]), File::absolute($save_dir, $save_filename) . ($ext ? ".flv" : ""));
return;
}
}
}
}
throw new Exception("undef video");
}
示例2: download
public function download($save_dir, $save_filename, $ext = true)
{
$b = new Http();
$b->do_get($this->url() . "&fmt=22");
if (preg_match("/var[\\s]+swfArgs[\\s]*=[\\s]*(\\{.+?\\})/m", $b->body(), $match)) {
$json = Text::parse_json($match[1]);
$base_url = "http://www.youtube.com/get_video?video_id=" . $json["video_id"] . "&t=" . $json["t"];
$url = $base_url . "&fmt=22";
if ($b->do_head($url)->status() !== 200) {
$url = $base_url . "&fmt=18";
}
$b->do_download($url, File::absolute($save_dir, $save_filename) . ($ext ? $this->ext : ""));
return;
}
throw new Exception("undef video");
}
示例3: untgz
/**
* tar.gz(tgz)を解凍してファイル書き出しを行う
* @param string $inpath 解凍するファイルパス
* @param string $outpath 解凍先のファイルパス
* @param integer $permission フォルダを作成する際のアクセス権限、8進數(0755)で入力する
*/
public static function untgz($inpath, $outpath, $permission = null)
{
$tmp = false;
if (strpos($inpath, "://") !== false && (bool) ini_get("allow_url_fopen")) {
$tmpname = self::absolute($outpath, self::temp_path($outpath));
$http = new Http();
try {
$http->do_download($inpath, $tmpname);
if ($http->status() !== 200) {
throw new InvalidArgumentException($inpath . ' not found');
}
} catch (ErrorException $e) {
throw new InvalidArgumentException(sprintf("permission denied[%s]", $tmpname));
}
$inpath = $tmpname;
$tmp = true;
}
self::untar(self::gzread($inpath), $outpath, $permission);
if ($tmp) {
self::rm($inpath);
}
}