php发送与接收流文件的方法


Posted in PHP onFebruary 11, 2015

本文实例讲述了php发送与接收流文件的方法。分享给大家供大家参考。具体如下:

sendStreamFile.php 把文件以流的形式发送
receiveStreamFile.php 接收流文件并保存到本地

sendStreamFile.php文件:

<?php 
/** php 发送流文件 
* @param String $url 接收的路径 
* @param String $file 要发送的文件 
* @return boolean 
*/ 
function sendStreamFile($url, $file){ 
  if(file_exists($file)){ 
    $opts = array( 
      'http' => array( 
        'method' => 'POST', 
        'header' => 'content-type:application/x-www-form-urlencoded', 
        'content' => file_get_contents($file) 
      ) 
    ); 
    $context = stream_context_create($opts); 
    $response = file_get_contents($url, false, $context); 
    $ret = json_decode($response, true); 
    return $ret['success']; 
  }else{ 
    return false; 
  } 
} 
$ret = sendStreamFile('http://localhost/receiveStreamFile.php','send.txt');
var_dump($ret); 
?>

receiveStreamFile.php文件:

]<?php 
/** php 接收流文件 
* @param String $file 接收后保存的文件名 
* @return boolean 
*/ 
function receiveStreamFile($receiveFile){ 
  $streamData = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : ''; 
 
  if(empty($streamData)){ 
    $streamData = file_get_contents('php://input'); 
  } 
 
  if($streamData!=''){ 
    $ret = file_put_contents($receiveFile, $streamData, true);
  }else{ 
    $ret = false; 
  } 
  return $ret; 
} 
$receiveFile = 'receive.txt'; 
$ret = receiveStreamFile($receiveFile); 
echo json_encode(array('success'=>(bool)$ret)); 
?>

下面是其它网友的补充

PHP读取流文件

$filepath = 'http://www.vip.com/down';
$fp = fopen($filepath,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Content-Disposition: attachment; filename=xxx.pdf");
$buffer = 1024;
while (!feof($fp)) {
$file_con = fread($fp,$buffer);
  echo $file_con;
}
fclose($fp);

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php 一元分词算法
Nov 30 PHP
php实现rc4加密算法代码
Apr 25 PHP
PHP的5个安全措施小结
Jul 17 PHP
php curl的深入解析
Jun 02 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
如何使用php输出时间格式
Aug 31 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
Dec 08 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
php实现上传图片保存到数据库的方法
Feb 11 #PHP
php使用curl获取https请求的方法
Feb 11 #PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 #PHP
php判断并删除空目录及空子目录的方法
Feb 11 #PHP
php获取YouTube视频信息的方法
Feb 11 #PHP
php实现图片局部打马赛克的方法
Feb 11 #PHP
php实现获取文件mime类型的方法
Feb 11 #PHP
You might like
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
新闻内页-JS分页
2006/06/07 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[01:01:22]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
python程序封装为win32服务的方法
2021/03/07 Python
python实现简单日期工具类
2019/04/24 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
Delphi工程师笔试题
2013/09/21 面试题
计算机科学与技术应届生求职信
2013/11/07 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
辩论会主持词
2015/07/03 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
Python道路车道线检测的实现
2021/06/27 Python
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python