<form action="提交到处理地址" method="post" enctype="multipart/form-data" class="form-horizontal"><div class="form-group"><label class="col-lg-2 col-sm-2 control-label">上传图片</label><div class="col-lg-4"><input type="file" name="photo"></div></div><div class="form-group"><div class="col-lg-offset-2 col-lg-4"><button type="submit" name="submit" class="btn btn-default">确定</button></div></div></form>
// 用来处理上传的数据流代码
public function imgApp(){//方式一:电脑上传文件$image = $_FILES["photo"]["tmp_name"];$fp = fopen($image, "r");$file = fread($fp, $_FILES["photo"]["size"]); //二进制数据流//保存地址$imgDir = './Uploads/';//要生成的图片名字$filename = date("Ym")."/".md5(time().mt_rand(10, 99)).".png"; //新图片名称$newFilePath = $imgDir.$filename;$data = $file;$newFile = fopen($newFilePath,"w"); //打开文件准备写入fwrite($newFile,$data); //写入二进制流到文件fclose($newFile); //关闭文件//写入数据库$arr = array("uid" => 1, //用户id"cid" => 1, //分类id"a_title" => $_POST["a_title"], //标题"a_content" => $_POST["a_content"], //内容"photo" => $filename, //图片路径"a_urgent" => $_POST['status'] == 'on' ? 0 : 1, //是否急需"add_time" => time(), //创建时间);if(empty($arr["a_title"])){$this->error("标题不为空");} else if(empty($arr["a_content"])) {$this->error("内容不为空");}if($db = M("answer")->add($arr)){$this->success("保存成功", "demo2");} else {$this->error("失败");}}<?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/fdipzone/receiveStreamFile.php', 'send.txt');
var_dump($ret);
?><?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上传二进制数据流相关推荐

  1. php 上传二进制图片,关于PHP CURL上传二进制流图片

    推荐:"PHP视频教程" 前言项目中的模块数据由PHP爬虫更新.检测到新图片需要上传到跨区域CDN回传服务器(静态资源服务器),服务器管理器只提供上传API 解决方案1.本地保存图 ...

  2. android上传二进制流到服务器,android – 通过ADB shell传输二进制数据(即使...

    参见英文答案 > Read binary stdout data from adb shell?????????????????????????????????????16个 我一直在尝试使用类 ...

  3. m5310模组数据上传至onenet_硬核干货!基于M5310-A的NB-IoT水表通信模块软件业务逻辑分享...

    根据不同的应用场景需求,目前NB-IoT水表主要有以下几种方案: 图1 几种常见NB水表方案 接下来将从NB-IoT水表上电开机.模组初始化.入网判断.业务逻辑四个环节来详细讲述,以下业务流程仅供参考 ...

  4. java百度上传控件_百度Bos上传文件工具类-BosUtils(java)

    功能要求 java项目中所有的图片均使用对象存储BOS 准备材料 首先你要又百度bos的账号,找到自己的ak.sk.endpoint.bucketname(这些东西不懂得可以去看bos的文档) 功能代 ...

  5. java图片上传下载_java实现文件的上传和下载

    1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...

  6. 上接稳扎稳打Silverlight(20) - 2.0通信之WebClient, 以字符串的形式上传/下载数据

    2.以字符串的形式和流的形式上传数据 REST.cs(WCF创建的用于演示以字符串的形式和流的形式上传数据的REST服务) using System;  using System.Linq;  usi ...

  7. Silverlight从客户端上传文件到服务器

    这里介绍的是一种利用WebClient手动发送Stream到服务器页面的上传文件方法. 一.服务器接收文件 这里使用一个ASHX页面来接收和保存Silverlight传来的Stream,页面代码如下: ...

  8. Flex4/Flash多文件上传(带进度条)实例分享

    要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...

  9. libcurl上传文件

    libcurl参数很多,一不小心就容易遇到问题.曾经就遇到过一个很蛋疼的问题:libcurl断点下载>> 这里主要汇总一下,libcurl上传的二种方式: 1.直接上传文件,类似form表 ...

最新文章

  1. sqlog连接虚拟机mysql问题
  2. 阿里巴巴公布第二财季报告,净利润同比增长71%
  3. 真叫人头秃!Python也有pdb
  4. # 字符串从右往左查找_python数据类型及字符串(2)
  5. java基础---File类
  6. C++ 覆盖方法、重载方法的理解
  7. 【算法】学习笔记(2):递归思想
  8. lightoj1259 线性筛的另一种写法 v变成bool标记数组
  9. Python第六次作业
  10. 中点画线算法画直线----计算机图形学
  11. 自我提升第n天,自媒体必备工具大全
  12. 智慧应急 科学管理:打造园区安全智慧大脑
  13. iOS 相机开发总结
  14. 技嘉服务器准系统epyc,技嘉为AMD霄龙处理器推出ATX主板 针对AMD EPYC
  15. 【RocketMQ 二十七】RocketMQ 消费幂等
  16. 酷派手机COOLPAD5380CA动态权限允许无法点击
  17. WebXR 元宇宙或将基于 Web
  18. 使用GifCam录制程序演示效果图GIF(基于模拟器录制)
  19. 有小伙伴说看不懂 LiveData、Flow、Channel,跟我走
  20. 在哪里找java工作_去哪里找java工作比较好找?

热门文章

  1. 序列模型第二周作业1:Operations on word vectors
  2. 基于Java毕业设计智慧茶园综合管理系统源码+系统+mysql+lw文档+部署软件
  3. 如何用Python快速优雅的批量修改Word文档样式?
  4. 高通MSM8909:LCD hx8394d驱动调试
  5. php 图片印章_PHP实现中文圆形印章特效
  6. 【VUE】vue网站设计-----字节招聘网站设计
  7. GBase XDM使用场景
  8. Ubuntu全新安装firefox最新版本
  9. nova4e可以升级鸿蒙吗,年轻人的自拍神器 华为nova4e颠覆你的感官
  10. ERP系统如何通过存储过程导出报表数据