php异步传输,php 异步处理-上传文件
这篇文章主要介绍了关于php 异步处理-上传文件,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下// fsockopenpublic function testFsockeopen(){
$cookie = $_COOKIE;
$url = 'http://localhost/jtzn/src/server/index.php/Admin/Station/submitimp'; //异步触发的文件地址
$url_array = parse_url($url); //解析url
$port = isset($url_array['port']) ? $url_array['port'] : 80;
$errno = '';
$errstr = '';
$timeout = 30;
$fp = fsockopen($url_array['host'], $port, $errno, $errstr, $timeout); //开启
if (!$fp) {
return false;
} //模拟数据
$boundary = "----" . substr(md5(time()), 8, 16);
$data = "--$boundary\r\n";
foreach ($_FILES as $key => $file) {
$data .= "Content-Disposition: form-data; name=\"" . $key . "\"; filename=\"" . $file['name'] . "\"\r\n";
$data .= "Content-Type: " . $file['type'] . "\r\n\r\n";
$data .= file_get_contents($file['tmp_name']) . "\r\n";
$data .= "--$boundary--\r\n";
} //构建请求头
$header = "POST $url_array[path] HTTP/1.1\r\n";
$header .= "Host:$url_array[host]\r\n";
$header .= "Content-type:multipart/form-data; boundary=$boundary\r\n";
$header .= "Content-length:" . strlen($data) . "\r\n";
$_cookie = strval(NULL);
foreach ($cookie as $k => $v) {
$_cookie .= $k . "=" . $v;
}
$cookie_str = "Cookie: " . $_cookie . " \r\n"; //传递Cookie用于登录验证
$header .= $cookie_str;
$header .= "Connection:close\r\n\r\n";
$header .= $data;
fwrite($fp, $header); //不要接收服务器的返回 ,这样就不用等待了
fclose($fp);
echo json_encode(['msg' => 'ok', 'info' => '已经发起申请']);
}
public function testCurl(){
$url = 'http://localhost/jtzn/src/server/index.php/Admin/Station/submitimp';
$file = $_FILES['updataexcel2007'];
$post_data['updataexcel2007'] = curl_file_create(realpath($file['tmp_name']), $file['type'], $file['name']); //curl上传文件
$ch = curl_init();
$cookie = $_COOKIE;
$_cookie = strval(NULL);
foreach ($cookie as $k => $v) {
$_cookie .= $k . "=" . $v;
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回,0是返回,1是不返回
curl_setopt($ch, CURLOPT_HEADER, 1);//参数设置,是否显示头部信息,1为显示,0为不显示
//表单数据,是正规的表单设置值为非0
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_COOKIE, $_cookie); //登录验证
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_exec($ch);
curl_close($ch);
echo json_encode(['msg' => 'ok', 'info' => '已经发起申请']);
}
以上就是本篇文章的全部内容了,更多相关内容请关注PHP中文网。
相关推荐:
php异步传输,php 异步处理-上传文件相关推荐
- php异步处理下载文件,php异步处理-上传文件
这篇文章主要介绍了关于php 异步处理-上传文件,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下// fsockopenpublic function testFsockeopen(){ ...
- SpringMVC MultipartFile 异步批量上传文件
使用MultipartFile,前端通过异步方式提交,以上传图片做个简例,只介绍前端及处理层代码 需求简述: 1.spring配置 <bean id="multipartResolve ...
- 通过ajaxFileUpload异步请求上传文件(ajaxFileUpload+servlet实现文件上传下载)
1.最终效果 实现选择图片(此处以图片为例,支持所有类型文件的上传),选择之后将选择的图片在页面中显示出来,点击上传,可以将文件上传到指定的地址中,上传成功后在当前页面自动显示下载标签. 源码下载地址 ...
- wordpress异步ajax上传文件
分三步 1.建立表单 2.js获取表单数据,用formData打包,然后用ajax提交到admin-ajax.php(wordpress固定用法),最后通过php自定义函数php_upload处理 3 ...
- ajaxfileupload 返回值_ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据...
ajaxFileUpload是一款很好用的文件上传插件,网上也有很多关于它的版本,但在上传文件成功后想返回json数据给前台时,却会出现无法解析json数据的情况. 仔细调试发现其实在向服务器提交数据 ...
- java获取ajax上传的文件,Java使用Ajax异步上传文件
相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...
- jQuery异步上传文件
jQuery异步上传文件 我想通过jQuery异步上传文件,这是我的HTML: 1 2 3 <span>File</span> <input type="fil ...
- $.messager.progress ajax,ajax异步上传文件返回undefined
ajax跨域上传文件,封装了一个上传文件的方法sendFilePost,上传文件的时候使用async: false同步上传就不会弹出等待框,返回的结果没问题,但是使用了异步的方法async: ture ...
- input[type=file] 异步上传文件
背景 UI如图所示,其中有一个拍照图标,点击后要选择拍照或者从相册中选择要上传的图片. 拍照上传部分的代码如下 html部分 <div class="take-photo"& ...
最新文章
- Agile DSL Development in Ruby 笔记
- Java并发编程 Synchronized及其实现原理
- Scala基础教程(六):字符串、数组、集合
- MFC笔记2(控件位置调整)
- Flask爱家租房--房屋管理(搜索房屋列表)
- Idea 依赖冲突一分钟解决2种方案
- 入侵检测技术目的-发现黑客
- Head First SQL Your Brain on SQL读书笔记
- 17家中国初创IT公司的失败史【转】
- 经典的同步/互斥问题—哲学家进餐
- 下载整个网站 有什么工具可以下载整个网站的内容吗?
- 音乐原唱伴唱卡拉ok模式解决!
- alpha测试和beta测试
- ANSYS|workbench输出梁的剪力图和弯矩图
- C语言中,strlen()函数与sizeof()运算符的区别以及用法区别
- AcWing 278. 数字组合
- Java 集合深入理解(10):Deque 双端队列
- PHP计算两个日期相差的天数方法详解
- 李彦宏:一个人的百度
- 双十二,WAVE SUMMIT+2021峰会亮点抢先看!
热门文章
- EveryEeek English(9.21)
- C#WebApi路由机制详解
- 驱动人生2008_驱动人生致敬深圳经济特区建立四十周年!
- 程序员基本功10栈和队列
- matlab与树莓派通信
- python selenium_Python+selenium自动化测试
- java el表达式 导航规则_javaweb之EL表达式语言
- leetcode 两数相加c++_167. 两数之和 II - 输入有序数组
- Android开发编码规范pdf文件下载
- calayer动画总结(一)