php发送与接收流文件的方法

 更新时间:2015年02月11日 12:16:35   作者:傲雪星枫  
这篇文章主要介绍了php发送与接收流文件的方法,实例分析了php针对流文件的常见操作技巧,需要的朋友可以参考下

本文实例讲述了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中使用asort进行中文排序失效的问题处理

    PHP中使用asort进行中文排序失效的问题处理

    asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。可选的第二个参数包含了附加的排序标识。如果成功则返回 TRUE,否则返回 FALSE。
    2014-08-08
  • php生成txt文件标题及内容的方法

    php生成txt文件标题及内容的方法

    本文为大家详细介绍下php如何生成txt文件标题及内容,下面有个不错的示例,大家可以感受下
    2014-01-01
  • php使用gzip压缩传输js和css文件的方法

    php使用gzip压缩传输js和css文件的方法

    这篇文章主要介绍了php使用gzip压缩传输js和css文件的方法,实例分析了使用gzip实现压缩js和css文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php缩放图片(根据宽高的等比例缩放)实例介绍

    php缩放图片(根据宽高的等比例缩放)实例介绍

    设定宽高,不等比例缩放;设定宽度,等比例缩放;设定高度,等比例缩放;按比例,缩放至50%;缩放后直接输出到屏幕等等,具体使用方法如下,感兴趣的额朋友可以了解下哈
    2013-06-06
  • PHP缓存工具XCache安装与使用方法详解

    PHP缓存工具XCache安装与使用方法详解

    这篇文章主要介绍了PHP缓存工具XCache安装与使用方法,较为详细的分析了缓存工具XCache在Windows及Linux平台安装与Xcache操作封装类实例,需要的朋友可以参考下
    2018-04-04
  • php $_SERVER["REQUEST_URI"]获取值的通用解决方法

    php $_SERVER["REQUEST_URI"]获取值的通用解决方法

    在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。
    2010-06-06
  • PHP应用跨时区功能的实现方法

    PHP应用跨时区功能的实现方法

    今天小编就为大家分享一篇关于PHP应用跨时区功能的实现方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 抓取YAHOO股票报价的类

    抓取YAHOO股票报价的类

    实时抓取YAHOO股票报价的函数,大家可以学习一下思路跟具体的代码,自己可以拓宽下。
    2009-05-05
  • PHP模块化安装教程

    PHP模块化安装教程

    这篇文章主要介绍了PHP模块化安装的方法,较为详细的分析了php模块化安装的步骤与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验

    web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验

    通过上一篇,获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR) ,我们已经意 识到直接从http_x_forwarded_for中读取用户IP,跟我们直接从一个get,post值中读取其实没有两样。web参数检测里面一个基本原则:“一切输入都是有害的”,因此,只要是输入我们就需要进行过滤
    2013-06-06

最新评论