php上传二进制数据流
<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上传二进制数据流相关推荐
- php 上传二进制图片,关于PHP CURL上传二进制流图片
推荐:"PHP视频教程" 前言项目中的模块数据由PHP爬虫更新.检测到新图片需要上传到跨区域CDN回传服务器(静态资源服务器),服务器管理器只提供上传API 解决方案1.本地保存图 ...
- android上传二进制流到服务器,android – 通过ADB shell传输二进制数据(即使...
参见英文答案 > Read binary stdout data from adb shell?????????????????????????????????????16个 我一直在尝试使用类 ...
- m5310模组数据上传至onenet_硬核干货!基于M5310-A的NB-IoT水表通信模块软件业务逻辑分享...
根据不同的应用场景需求,目前NB-IoT水表主要有以下几种方案: 图1 几种常见NB水表方案 接下来将从NB-IoT水表上电开机.模组初始化.入网判断.业务逻辑四个环节来详细讲述,以下业务流程仅供参考 ...
- java百度上传控件_百度Bos上传文件工具类-BosUtils(java)
功能要求 java项目中所有的图片均使用对象存储BOS 准备材料 首先你要又百度bos的账号,找到自己的ak.sk.endpoint.bucketname(这些东西不懂得可以去看bos的文档) 功能代 ...
- java图片上传下载_java实现文件的上传和下载
1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...
- 上接稳扎稳打Silverlight(20) - 2.0通信之WebClient, 以字符串的形式上传/下载数据
2.以字符串的形式和流的形式上传数据 REST.cs(WCF创建的用于演示以字符串的形式和流的形式上传数据的REST服务) using System; using System.Linq; usi ...
- Silverlight从客户端上传文件到服务器
这里介绍的是一种利用WebClient手动发送Stream到服务器页面的上传文件方法. 一.服务器接收文件 这里使用一个ASHX页面来接收和保存Silverlight传来的Stream,页面代码如下: ...
- Flex4/Flash多文件上传(带进度条)实例分享
要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...
- libcurl上传文件
libcurl参数很多,一不小心就容易遇到问题.曾经就遇到过一个很蛋疼的问题:libcurl断点下载>> 这里主要汇总一下,libcurl上传的二种方式: 1.直接上传文件,类似form表 ...
最新文章
- sqlog连接虚拟机mysql问题
- 阿里巴巴公布第二财季报告,净利润同比增长71%
- 真叫人头秃!Python也有pdb
- # 字符串从右往左查找_python数据类型及字符串(2)
- java基础---File类
- C++ 覆盖方法、重载方法的理解
- 【算法】学习笔记(2):递归思想
- lightoj1259 线性筛的另一种写法 v变成bool标记数组
- Python第六次作业
- 中点画线算法画直线----计算机图形学
- 自我提升第n天,自媒体必备工具大全
- 智慧应急 科学管理:打造园区安全智慧大脑
- iOS 相机开发总结
- 技嘉服务器准系统epyc,技嘉为AMD霄龙处理器推出ATX主板 针对AMD EPYC
- 【RocketMQ 二十七】RocketMQ 消费幂等
- 酷派手机COOLPAD5380CA动态权限允许无法点击
- WebXR 元宇宙或将基于 Web
- 使用GifCam录制程序演示效果图GIF(基于模拟器录制)
- 有小伙伴说看不懂 LiveData、Flow、Channel,跟我走
- 在哪里找java工作_去哪里找java工作比较好找?
热门文章
- 序列模型第二周作业1:Operations on word vectors
- 基于Java毕业设计智慧茶园综合管理系统源码+系统+mysql+lw文档+部署软件
- 如何用Python快速优雅的批量修改Word文档样式?
- 高通MSM8909:LCD hx8394d驱动调试
- php 图片印章_PHP实现中文圆形印章特效
- 【VUE】vue网站设计-----字节招聘网站设计
- GBase XDM使用场景
- Ubuntu全新安装firefox最新版本
- nova4e可以升级鸿蒙吗,年轻人的自拍神器 华为nova4e颠覆你的感官
- ERP系统如何通过存储过程导出报表数据