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 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
php使用百度翻译api示例分享
Jan 31 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
对PHP PDO的一些认识小结
Jan 23 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
举例详解PHP脚本的测试方法
Aug 05 PHP
php设计模式之委托模式
Feb 13 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 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
用Zend Encode编写开发PHP程序
2006/10/09 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
django配置app中的静态文件步骤
2020/03/27 Python
python打包多类型文件的操作方法
2020/09/21 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
怎样在程序里获得一个空指针
2015/01/24 面试题
女性健康知识讲座通知
2015/04/23 职场文书
2015年调度员工作总结
2015/04/30 职场文书
宇宙与人观后感
2015/06/05 职场文书
初二物理教学反思
2016/02/19 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python