用PHP写的三个HTTP下载类,发表下载

作者: 韦德国际1946手机版  发布:2019-07-30

假定帮衬展开远程内容的挑选的话,实际上php用fopen或file_get_contents都能获得贰个网页的内容,可是私下认可的函数有个不足的地点就是不恐怕猎取HTTP头,那在一些非正规的运用中很不平价,如,有三个链接:

在php中,下载http财富相比较常用的一种做法正是用 file_get_contents 那么些函数,但那函数不能够获得http头的音讯,会给一部分应用带来不便利,由此笔者写了三个http下载类来缓慢解决那一个难题,测量检验以为速度和file_get_contents相差无几。

图片 1

PHP 5.3.4 发表下载

 

<?
class DedeHttpDown
{
var $m_url = "";
var $m_urlpath = "";
var $m_scheme = "http";
用PHP写的三个HTTP下载类,发表下载。var $m_host = "";
var $m_port = "80";
var $m_user = "";
var $m_pass = "";
var $m_path = "/";
var $m_query = "";
var $m_fp = "";
var $m_error = "";
var $m_httphead = "";
var $m_html = "";
//
//开头化系统
//
function PrivateInit($url)
{
$urls = "";
$urls = @parse_url($url);
$this->m_url = $url;
if(is_array($urls))
{
$this->m_host = $urls["host"];
if(!empty($urls["scheme"])) $this->m_scheme = $urls["scheme"];

做开源也会有4,5年的时日了,从开始年代的Yaf,到前几天的PHP7,小编加入的花色极度多,使用本人代码的用户也越来越多,前些天将在公布的PHP7,相对是自家从事开源以来的多个最要害里程碑,笔者应该记念一下后天,就让笔者稍微感性一遍啊。

下载地址:
查看ChangeLog:

假若它回到的是一个图片,用暗许函数就很难辨识,但倘使因而HTTP应答头来剖断就轻松多了,另外假如对方通过 Refer 来防盗链的话,也是心有余而力不足得到的,用HTTP类就能够圆满化解那些难点,况且速度也大约。

if(!empty($urls["user"])){
$this->m_user = $urls["user"];
}

PHP7项目始于于2018年新年佳节的时候,二〇一八年大家遵照PHP-5.5的Opcache JIT项目基本上因为不可能赢得期望的结果而不了而了了,一些在做JIT的时候搜聚到的消息让大家认知到,基础部分还相当不够好,并无法很好的支撑JIT,所以在二〇一四年十二月左右吗,大家初始了重构项目,当时的希望是说经过重构,能博取十分之二上述的性提高,为以往的愈加优化提供基础。

注:其余 5.2.x 分支的 PHP 5.2.15 也同一时间公布.

动用办法:

if(!empty($urls["pass"])){
$this->m_pass = $urls["pass"];
}

当初还从未给那么些类型起名字,我们只是推行,那个月是自己最劳碌的每十三日,因为唯有大家俩私家在那一个体系中,笔者还因为本身今日头条的做事也相比忙,所以基本上只深夜的年月都扑在了下边. 然则幸而,作者和其他一人有5个时辰的时差,所以众多办事能够串行起来。

图片 2

$hd = new DedeHttpDown();
$hd->OpenUrl("");
echo $hd->GetHtml();
//如若保留为文件则用 $hd->SaveBin("dede.html");
$hd->Close();

if(!empty($urls["port"])){
$this->m_port = $urls["port"];
}

乘势项指标促进,大家喜悦的觉察品质提高比大家想像的还要大,到七月的时候别的一人也到场了进来,到七月差不离已经做到了绝大好些个的专门的职业,于是我们颁布了那贰个成果,定名叫PHP NG项目。

获取http央求头用
$hd->GetHead("key")
安装央求头
$hd->SetHead(key,value); (必须在调用 OpenUrl 以前设定)

if(!empty($urls["path"])) $this->m_path = $urls["path"];
$this->m_urlpath = $this->m_path;

但笔者没悟出的是,大家相遇了社区极大的阻力,因为在大家秘密开拓PHP NG的时候,社区还互相着二个要害是微软的同桌们倡议的陆10个人协理的类型,当我们精通PHP NG的时候,他们喝斥说,忽然拿着这么大的七个Patch出来,未有其余人懂,后续如何维护,如何和63个人帮忙的道岔合并等,继而反对选取PHP NG分支. 当时自家是那一个心寒的,持续悠久的斗嘴也让自己深感极其疲倦,最后因为本身骨子里没辙排除和消除,一腔怒火的也不管自身不行的俄文,在邮件组回了一封嘲弄邮件,呼吁我们器重这么些性子升高分支。

本文由韦德国际1946发布于韦德国际1946手机版,转载请注明出处:用PHP写的三个HTTP下载类,发表下载

关键词: 编程语言 PHP