php同时下载多条URL函数

简介: php同时下载多条URL函数
/**
同时打开多个URL
*/
function get_urls(u r l s , urls,urls,per=10,$try=1){
h e a d e r s [ ] = ′ U s e r − A g e n t : ′ . headers[] = 'User-Agent: '.headers[]= 
 User−Agent: 
 ._SERVER[‘HTTP_USER_AGENT’];
$headers[] = ‘Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8’;
$headers[] = ‘Accept-Language: zh-cn,zh;q=0.5’;
$headers[] = ‘Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7’;
$headers[] = ‘Keep-Alive: 115’;
h e a d e r s [ ] = ′ C o n n e c t i o n : k e e p − a l i v e ′ ; / / headers[] = 'Connection: keep-alive'; //headers[]= 
 Connection:keep−alive 
 ;//headers[] = 'Cookie: '.$cookie_file;
//$m_cookie_name = $this->get_content_cookie_path();
o p t i o n s = a r r a y ( C U R L O P T H T T P H E A D E R = > options=array( CURLOPT_HTTPHEADER=>options=array(CURLOPT 
H
 TTPHEADER=>headers,
CURLOPT_SSL_VERIFYHOST=>FALSE,
CURLOPT_SSL_VERIFYPEER=>FALSE,
CURLOPT_COOKIEFILE=>m c o o k i e n a m e , C U R L O P T C O O K I E J A R = > m_cookie_name, CURLOPT_COOKIEJAR=>m 
c
 ookie 
n
 ame,CURLOPT 
C
 OOKIEJAR=>m_cookie_name,
);
u r l s 2 = a r r a y ( ) ; f o r e a c h ( urls2=array(); foreach(urls2=array();foreach(urls as k = > k=>k=>v){
u r l s [ urls[urls[k]= t h i s − > g e t u r l ( this->get_url(this−>get 
u
 rl(v);
}
while(count(u r l s ) ) urls))urls))urls2[] = array_splice(u r l s , 0 , urls,0,urls,0,per);
$errorUrls=array();
d a t a s = a r r a y ( ) ; f o r e a c h ( datas = array(); foreach(datas=array();foreach(urls2 as u k = > uk=>uk=>url2s){
m = n e w H t t p M u l t i R e q u e s t ( m = new Http_MultiRequest(m=newHttp 
M
 ultiRequest(options);
m − > s e t U r l s ( m->setUrls(m−>setUrls(url2s);
$data = $m->exec();
i n f o s = ( infos = (infos=(m->getInfos());
foreach($infos as i k = > ik=>ik=>info){
if($info[‘http_code’]!=200){
e r r o r U r l s [ errorUrls[errorUrls[ik]=u r l 2 s [ url2s[url2s[ik];
echo i k . ′ h t t p c o d e : ′ . ik.' http_code:'.ik. 
 http 
c
 ode: 
 .info[‘http_code’].’
’;
}
}
d a t a s = a r r a y m e r g e ( datas =array_merge (datas=array 
m
 erge(datas, KaTeX parse error: Expected 'EOF', got '}' at position 10: data); }̲ //echo'Error…errorUrls);
if(KaTeX parse error: Expected 'EOF', got '&' at position 10: errorUrls&̲&try>0){
d a t a = g e t u r l s ( data = get_urls(data=get 
u
 rls(errorUrls,p e r , per,per,try-1);
d a t a s = a r r a y m e r g e ( datas =array_merge (datas=array 
m
 erge(datas, $data);
}
return $datas;
}
————————————————
版权声明:本文为CSDN博主「是有头发的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wbryze/article/details/116584716
相关文章
|
3月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
9天前
|
PHP 计算机视觉 UED
Buzz库:PHP图像处理中的异步图像下载和保存
Buzz库:PHP图像处理中的异步图像下载和保存
|
1月前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
25 5
|
3月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
2月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
64 1
|
4月前
|
Java
Java通过HttpClient从外部url下载文件到本地
该Java程序旨在通过URL将外部网络文件(如图片)下载至本地,并解决防盗链问题。首先,它通过`HttpGet`请求获取远程文件,并通过设置`Referer`头防止防盗链。然后,根据响应内容类型确定文件后缀并保存至指定路径。测试表明,程序能够成功下载文件。
585 8
Java通过HttpClient从外部url下载文件到本地
|
3月前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
3月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
4月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
55 2
|
4月前
|
JavaScript 前端开发 PHP