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验证码(支持中文)
Feb 14 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
php eval函数一句话木马代码
May 21 PHP
PHP可变函数学习小结
Nov 29 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
PHP简单实现模拟登陆功能示例
Sep 15 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带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
Python中Class类用法实例分析
2015/11/12 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python机器人运动范围问题的解答
2019/04/29 Python
python opencv调用笔记本摄像头
2019/08/28 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
会计应聘求职信范文
2013/12/17 职场文书
触摸春天教学反思
2014/02/03 职场文书
公安学专业求职信
2014/07/27 职场文书
员工自我工作评价
2015/03/06 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python