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. if(file_exists($file)){
  9. $opts = array(
  10. 'http' => array(
  11. 'method' => 'POST',
  12. 'header' => 'content-type:application/x-www-form-urlencoded',
  13. 'content' => file_get_contents($file)
  14. )
  15. );
  16. $context = stream_context_create($opts);
  17. $response = file_get_contents($url, false, $context);
  18. $ret = json_decode($response, true);
  19. return $ret['success'];
  20. }else{
  21. return false;
  22. }
  23. }
  24. $ret = sendStreamFile('http://localhost/fdipzone/receiveStreamFile.php', 'send.txt');
  25. var_dump($ret);
  26. ?>

receiveStreamFile.php

  1. <?php
  2. /** php 接收流文件
  3. * @param  String  $file 接收后保存的文件名
  4. * @return boolean
  5. */
  6. function receiveStreamFile($receiveFile){
  7. $streamData = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
  8. if(empty($streamData)){
  9. $streamData = file_get_contents('php://input');
  10. }
  11. if($streamData!=''){
  12. $ret = file_put_contents($receiveFile, $streamData, true);
  13. }else{
  14. $ret = false;
  15. }
  16. return $ret;
  17. }
  18. $receiveFile = 'receive.txt';
  19. $ret = receiveStreamFile($receiveFile);
  20. echo json_encode(array('success'=>(bool)$ret));
  21. ?>

php发送 与接收流文件的更多相关文章

  1. PHP 发送与接收流文件

    http://blog.csdn.net/fdipzone/article/details/40098169

  2. 如何通过Socket TCP发送并接收一个文件?

    一.小结 1.大包发小包收,只发一次. 2.发时把文件扩展名,文件长度也随同一起发送,方便接收端接收时另存为正确的文件类型,并判断是否已经接收完毕. 如果不一起发送,分为文件扩展名,文件长度,文件内容 ...

  3. java 模拟http请求,通过流(stream)的方式,发送json数据和文件

    发送端: /** * 以流的方式 * 发送文件和json对象 * * @return */ public static String doPostFileStreamAndJsonObj(String ...

  4. Socket传输大文件(发送与接收)

    下载 Client using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  5. 需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP

    需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP 需求:过滤下面这个网页里共723行 校对中里 行数为两位数 ...

  6. 文件转移 互联网组成 路由器 分组交换 交换机 冲突域 网卡 数据帧的发送与接收会带来CPU开销 CPU中断 双网卡切换

    https://zh.wikipedia.org/zh-cn/网段 在以太网环境中,一个网段其实也就是一个冲突域(碰撞域).同一网段中的设备共享(包括通过集线器等设备中转连接)同一物理总线,在这一总线 ...

  7. DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM

    背景: 从DICOM网络传输一文开始,相继介绍了C-ECHO.C-FIND.C-STORE.C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只 ...

  8. Spring Cloud (十五)Stream 入门、主要概念与自定义消息发送与接收

    前言 不写随笔的日子仿佛就是什么都没有产出一般--上节说到要学Spring Cloud Bus,这里发现按照官方文档的顺序反而会更好些,因为不必去后边的章节去为当前章节去打基础,所以我们先学习Spri ...

  9. JavaMail发送和接收邮件API(详解)

    一.JavaMail概述: JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类.但它并没有包含在JDK中,而是作为JavaEE的一部分. 厂商所提供的JavaMa ...

随机推荐

  1. 微信公众号关联(小游戏 小程序 跳转 盒子 wx.navigateToMiniProgram)

    参考: 公众号关联小程序 关联公众号 关联后,登录小游戏,可在设置-关联设置中看到关联的公众号 在小游戏中使用wx.navigateToMiniProgram wx.navigateToMiniPro ...

  2. 【BZOJ4919】[Lydsy六月月赛]大根堆 线段树合并

    [BZOJ4919][Lydsy六月月赛]大根堆 Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切 ...

  3. [工具] Sublime Text 使用指南

    http://bbs.it-home.org/thread-46291-1-1.html 摘要(Abstract) 更新记录 更正打开控制台的快捷键为Ctrl + ` 更正全局替换的快捷键为Ctrl ...

  4. jenkins使用Publish Over SSH中遇到的问题

    在jenkins中想使用publish over ssh来在构建后发送XML或PNG文件至服务器,以便做其它的操作,安装完publish over ssh后,填加构建,发现在构建失败时,不传送文件,老 ...

  5. python nose测试框架全面介绍二

    二.基本使用 nosetest脚本的使用(在安装完nose之后) nosetests [options] [(optional) test files or directories] 我们可以使用配置 ...

  6. lombok 一个不错的小工具

    (1)官方文档  Lombok features (2)Lombok Reduces Your Boilerplate Code (3)Lombok-Java代码自动生成 开发利器

  7. 算法学习之冒泡排序的C实现

    冒泡排序是属于比较类的排序方式,简单易懂,但是效率不是很高,不及快排. #include "stdio.h" #include "time.h" void bu ...

  8. django之admin设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

  9. 7.19python昨日复习和多线程(2)

    2018-7-19 21:39:49 我觉得这次的笔记是非常非常完美的!!!明天继续 睡觉去啦! 傍黑时候和晴宝打电话,她特能说,很喜欢这种感觉,有好多东西要和你分享! 1.复习! # !/usr/b ...

  10. 使用Xstart远程图形化Linux

    进入桌面以后su - 输入密码切换到root用户 rcc命令调出RoseMirrorHa页面进行操作