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 cookie的操作实现代码(登录)
Dec 29 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
8个必备的PHP功能开发
Oct 02 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP 闭包详解及实例代码
Sep 28 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
php实现简单加入购物车功能
Mar 07 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 PHP
php集成开发环境详解
Sep 24 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
php 原生分页
Apr 01 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使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python中for in的用法详解
2020/04/17 Python
python实现学生管理系统开发
2020/07/24 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
本科应届生自荐信
2014/06/29 职场文书
德育标兵事迹材料
2014/08/24 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis