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 ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
php中的一些数组排序方法分享
Jul 20 PHP
基于php权限分配的实现代码
Apr 28 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
Sep 23 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
详解php中curl返回false的解决办法
Mar 18 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部分常见问题总结
2008/03/27 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
ES6中Symbol类型用法实例详解
2017/04/06 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
Python3实现的简单验证码识别功能示例
2018/05/02 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python判断telnet通不通的实例
2019/01/26 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
同学聚会主持词
2014/03/18 职场文书
道德与公民自我评价
2015/03/09 职场文书