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 相关文章推荐
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
php制作基于xml的RSS订阅源功能示例
Feb 08 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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
收音机的保养
2021/03/01 无线电
建立动态的WML站点(三)
2006/10/09 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
解析vue中的$mount
2017/12/21 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
Js经典案例的实例代码
2018/05/10 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
C#笔试题集合
2013/06/21 面试题
离职证明标准格式
2014/09/15 职场文书
运动会通讯稿50字
2015/07/20 职场文书
2016国培研修心得体会
2016/01/08 职场文书