本文整理汇总了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);
}
}