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&amp;mysql(五)
Oct 09 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
Jun 07 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
PHP获取文件行数的方法
Jun 10 PHP
使用xampp搭建运行php虚拟主机的详细步骤
Oct 21 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 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版本常用的排序算法汇总
2015/12/20 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
对vux点击事件的优化详解
2018/08/28 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
NumPy排序的实现
2020/01/21 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
学习决心书
2014/03/11 职场文书
投资合作协议书
2014/04/17 职场文书
大学生求职信范文
2014/05/24 职场文书
五五普法心得体会
2014/09/04 职场文书
事业单位年度考核评语
2014/12/31 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书