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 XML备份Mysql数据库
May 27 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
php学习笔记 PHP面向对象的程序设计
Jun 13 PHP
浅析十款PHP开发框架的对比
Jul 05 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
PHP网络操作函数汇总
May 18 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 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中$this-&amp;gt;含义分析
2009/11/29 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
javascript工具库代码
2012/03/29 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
Python 错误和异常代码详解
2018/01/29 Python
Python实现线程状态监测简单示例
2018/03/28 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
Python定义函数实现累计求和操作
2020/05/03 Python
如何学习Python time模块
2020/06/03 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
初中科学教学反思
2014/01/21 职场文书
小学生开学感言
2014/02/28 职场文书
出纳会计岗位职责
2014/03/12 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android