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 进度条实现代码
Mar 10 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
Jan 20 PHP
PHP中使用unset销毁变量并内存释放问题
Jul 05 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
php版微信小店调用api示例代码
Nov 12 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 PHP
php array_map()函数实例用法
Mar 03 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生成静态页
2006/11/25 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
php浏览历史记录的方法
2015/03/10 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python冲顶大会 快来答题!
2018/01/17 Python
python实现超市扫码仪计费
2018/05/30 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
Python如何对齐字符串
2020/07/30 Python
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
艺人经纪人岗位职责
2014/04/15 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
绿色环保口号
2014/06/12 职场文书
施工员岗位职责
2015/02/10 职场文书
公司财务管理制度
2015/08/04 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
python开发制作好看的时钟效果
2022/05/02 Python
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers