zoukankan      html  css  js  c++  java
  • php发送 与接收流文件

    PHP 发送与接收流文件


    sendStreamFile.php 把文件以流的形式发送

    receiveStreamFile.php 接收流文件并保存到本地

    sendStreamFile.php

    1. <?php  
    2. /** php 发送流文件 
    3. * @param  String  $url  接收的路径 
    4. * @param  String  $file 要发送的文件 
    5. * @return boolean 
    6. */  
    7. function sendStreamFile($url, $file){  
    8.   
    9.     if(file_exists($file)){  
    10.   
    11.         $opts = array(  
    12.             'http' => array(  
    13.                 'method' => 'POST',  
    14.                 'header' => 'content-type:application/x-www-form-urlencoded',  
    15.                 'content' => file_get_contents($file)  
    16.             )  
    17.         );  
    18.   
    19.         $context = stream_context_create($opts);  
    20.         $response = file_get_contents($url, false, $context);  
    21.         $ret = json_decode($response, true);  
    22.         return $ret['success'];  
    23.   
    24.     }else{  
    25.         return false;  
    26.     }  
    27.   
    28. }  
    29.   
    30. $ret = sendStreamFile('http://localhost/fdipzone/receiveStreamFile.php', 'send.txt');  
    31. var_dump($ret);  
    32. ?> 

    receiveStreamFile.php

    1. <?php  
    2. /** php 接收流文件 
    3. * @param  String  $file 接收后保存的文件名 
    4. * @return boolean 
    5. */  
    6. function receiveStreamFile($receiveFile){  
    7.   
    8.     $streamData = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : '';  
    9.   
    10.     if(empty($streamData)){  
    11.         $streamData = file_get_contents('php://input');  
    12.     }  
    13.   
    14.     if($streamData!=''){  
    15.         $ret = file_put_contents($receiveFile, $streamData, true);  
    16.     }else{  
    17.         $ret = false;  
    18.     }  
    19.   
    20.     return $ret;  
    21.   
    22. }  
    23.   
    24. $receiveFile = 'receive.txt';  
    25. $ret = receiveStreamFile($receiveFile);  
    26. echo json_encode(array('success'=>(bool)$ret));  
    27. ?> 
  • 相关阅读:
    php使用iconv进行从utf8转为gb2312字符编码出错解决方案
    PHP 的 cURL库快速入门文档
    转载 DISCUZ!X1程序目录、文件列表及模板文件结构说明,帮助大家二级开发
    下拉菜单部分选项不允许选择
    Htaccess文件用法集锦
    MYSQL server has gone away解决办法
    Discuz X 模板中获取用户头像
    CSS Hack
    VS轻松保存重复多用的代码片段
    三菱FX PLC编程口通讯协议详解
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/6824409.html
Copyright © 2011-2022 走看看