php 多线程上传,PHP CURL 多线程操作代码实例
/*
* Curl 多线程类
* 使用方法:
* ========================
$urls = array("http://baidu.com", "http://dzone.com", "http://google.com");
$mp = new MultiHttpRequest($urls);
$mp->start();
* ========================
*/
class MultiHttpRequest {
public $urls = array();
public $curlopt_header = 1;
public $method = "GET";
function __construct($urls = false) {
$this->urls = $urls;
}
function set_urls($urls) {
$this->urls = $urls;
return $this;
}
function is_return_header($b) {
$this->curlopt_header = $b;
return $this;
}
function set_method($m) {
$this->medthod = strtoupper($m);
return $this;
}
function start() {
if(!is_array($this->urls) or count($this->urls) == 0){
return false;
}
$curl = $text = array();
$handle = curl_multi_init();
foreach($this->urls as $k=>$v){
$curl[$k] = $this->add_handle($handle, $v);
}
$this->exec_handle($handle);
foreach($this->urls as $k=>$v){
curl_multi_getcontent($curl[$k]);
echo $curl[$k]."\n";
//$text[$k] = curl_multi_getcontent($curl[$k]);
//echo $text[$k], "\n\n";
curl_multi_remove_handle($handle, $curl[$k]);
}
curl_multi_close($handle);
}
private function add_handle($handle, $url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, $this->curlopt_header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($handle, $curl);
return $curl;
}
private function exec_handle($handle) {
$flag = null;
do {
curl_multi_exec($handle, $flag);
} while ($flag > 0);
}
}
php 多线程上传,PHP CURL 多线程操作代码实例相关推荐
- oss多线程 上传_Jmeter测试多线程并发请求 与 OSS 对象存储 测试报告
1.测试文件夹包含特殊字符 出现重大BUG问题: \\ 和 / 运用到Key中 文件夹不能删除 解决方案:应该在根源上传之前进行 规避 出现这样的字符在一起 直接抛出错误信息给用户 2.测 ...
- 微信小程序多图上传带进度提示的代码实例
实例名称:多图上传进度提示 适用范围:微信小程序 基础库1.0.1及以上 page.js中书写代码片段如下 Page({data:{src:''},//上传事件upImage(e){wx.choose ...
- C++ vs2017 - libcurl - http请求 代码大全(请求数据,上传下载文件,多线程上传下载文件)
在网上搜寻各种libcurl的用法,将代码集合于此! 目录 一.配置curl项目 二.Curl 请求参数 1. CURLOPT_POST 2. CURLOPT_URL 3. CURLOPT_HTTPH ...
- oss多线程 上传_解读阿里云oss-android/ios-sdk 断点续传(多线程)
摘要: oss sdk 断点续传功能使用及其相关原理 前言 移动端现状 随着移动端设备的硬件水平的不断提高,如今的cpu,内存等方面都大大的超过了一般的pc电脑,因此在现今的程序中,合理的使用多线程去 ...
- oss多线程 上传_oss-android/ios-sdk 断点续传(多线程)
oss-android/ios-sdk 断点续传 前言 移动端现状 随着移动端设备的硬件水平的不断提高,如今的cpu,内存等方面都大大的超过了一般的pc电脑,因此在现今的程序中,合理的使用多线程去完成 ...
- 发邮件窗体【支持编辑邮件模板,使用wse多线程上传附件及发邮件(带附件)】以及在服务器端自动发邮件...
这是前段时间做的一个邮件客户端,支持自定义模板(模板是内置的,固定好了) 其中配置模板的xml <?xml version="1.0" encoding= ...
- php怎么上传函数,PHP单文件上传原理及上传函数的封装操作示例
搜索热词 @H_404_0@本文实例讲述了PHP单文件上传原理及上传函数的封装操作.分享给大家供大家参考,具体如下: @H_404_0@表单: @H_404_0@0.PHP: 无标题文档 请选择您要上 ...
- 前端(react)上传到阿里云OSS存储 实例
需求背景 由于现有的后台管理系统,上传的视频越来越大,加上上传视频较慢,后端小哥提出直接从前端上传视频或者其他文件到阿里云OSS存储. 阿里云OSS 阿里云OSS文档介绍,这里不做过多赘述 安装 原本 ...
- java代码上传exel,excle上传服务器并解析!求excel上传到服务器的java代码
如何将数据上传给服务器 医嘱以形式发送过来? 办法有很多,最简单的,就是在机器里,建立2个数据库A,B,假如A是外务器. 在数据库中,以A数据库做发布,让B数据库订阅,弄好以后,A数据库的数据就会自动 ...
最新文章
- ThinkPHP 3.2 vendor()方法的深入研究及Phpqrcode的正确扩展
- 每日一皮:宿舍阿姨眼中的单身狗...
- lua 访问oracle,lua语言数据库访问 - Lua教程
- Linux运行Django项目远程访问时报错:Invalid HTTP_HOST header: '***.***.*.*:8000'.
- centos内核编译与其签名机制
- 爬取三千条数据需要多久_存储-性能,IOPS,带宽,吞吐量,1TB数据需要多久写完...
- 【K8S】Docker向私有仓库拉取/推送镜像报错(http: server gave HTTP response to HTTPS client)
- 基于javaEE技术的课程设计管理系统设计与实现
- 【整理】更改MSSQL默认字符集
- 零基础转行如何准备一场软件测试面试
- 32个参数累加_「机械设计教程」滚珠丝杠选型过程中考虑的9个参数
- python绘制散点图,非常全,非常详细(已验证)
- 关于微信8.0.0以下版本登录版本验证的解决办法
- 微信小程序项目实例SSM在线考试管理系统+后台
- 开源免费 低代码平台开源_行动透明:免费代码营现已开源
- 如何自己组装电脑(从配件到整机)来省下一大笔钱
- 免费css代码下载-Free Css Templates
- Visual SVN Server的下载和使用
- 5-14 电话聊天狂人 (25分)/PTA
- 【LoVissy学习笔记】用Python3.82自动发送邮件。QQ邮箱
热门文章
- mysql和oracle 开源_MySQL和oracle比较
- Linux redis故障,linux – Redis Stall故障排除
- matlab调用ANSYS--------2
- OpenCV学习(二十二) :反向投影:calcBackProject(),mixChannels()
- VC创建DLL动态链接库及其调用
- Python数据类型-元组类型
- Python语言数据类型-----数字和字符串
- Google Pixel 解锁BL、刷入Twrp、magisk Root、安装 Xposed
- Scrapy 爬虫教程导航
- Python 爬虫框架 - PySpider