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 相关文章推荐
为查询结果建立向后/向前按钮
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
简单的php新闻发布系统教程
May 09 PHP
PHP实现过滤各种HTML标签
May 17 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
php批量删除操作代码分享
Feb 26 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 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中的时间处理
2006/10/09 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
jquery 防止表单重复提交代码
2010/01/21 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
python如何读写csv数据
2018/03/21 Python
对python中的pop函数和append函数详解
2018/05/04 Python
python中map的基本用法示例
2018/09/10 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
Python的两道面试题
2013/06/29 面试题
生物技术专业研究生自荐信
2013/09/22 职场文书
大学生毕业自我鉴定
2013/11/06 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
工程索赔意向书
2014/08/30 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server