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遍历数组的方法汇总分析
Jun 08 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
php利用gd库为图片添加水印
Nov 09 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
php操作redis数据库常见方法实例总结
Feb 20 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
linux php mysql数据库备份实现代码
2009/03/10 PHP
php中取得文件的后缀名?
2012/02/20 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
Python线程的两种编程方式
2015/04/14 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
使用pandas读取文件的实现
2019/07/31 Python
python中time库的实例使用方法
2019/10/31 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
Django实现简单的分页功能
2021/02/22 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
创业计划书的内容步骤和要领
2014/01/04 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
五年级数学教学反思
2014/02/11 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
环保建议书600字
2014/05/14 职场文书
离婚协议书格式
2014/11/21 职场文书
幼师小班个人总结
2015/02/12 职场文书
酒店采购员岗位职责
2015/04/03 职场文书