文档章节

可牛看图web开放平台---PHP表单上传代码分享

crossmix
 crossmix
发布于 2015/04/09 10:59
字数 305
阅读 95
收藏 2
点赞 0
评论 0

首先打开zendstudio编辑器:直接上代码:

?1234567891011121314151617181920212223 <?php /** * Note:for octet-stream upload * 这个是流式上传PHP文件 * Please be amended accordingly based on the actual situation */$post_input = 'php://input'; $save_path = dirname(FILE); $postdata = file_get_contents($post_input); if (isset($postdata) && strlen($postdata) > 0) { $filename = $save_path . '/' . uniqid() . '.jpg'; $handle = fopen($filename, 'w+'); fwrite($handle, $postdata); fclose($handle); if (is_file($filename)) { echo 'Image data save successed,file:' . $filename; exit (); } else { die ('Image upload error!'); } } else { die ('Image data not detected!'); }

?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 <?php /** * Note:for multipart/form-data upload * 这个是标准表单上传PHP文件 * Please be amended accordingly based on the actual situation */if (!$_FILES['Filedata']) { die ('Image data not detected!'); } if ($_FILES['Filedata']['error'] > 0) { switch ($_FILES ['Filedata'] ['error']) { case 1 : $error_log = 'The file is bigger than this PHP installation allows'; break; case 2 : $error_log = 'The file is bigger than this form allows'; break; case 3 : $error_log = 'Only part of the file was uploaded'; break; case 4 : $error_log = 'No file was uploaded'; break; default : break; } die ('upload error:' . $error_log); } else { $img_data = $_FILES['Filedata']['tmp_name']; $size = getimagesize($img_data); $file_type = $size['mime']; if (!in_array($file_type, array('image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'))) { $error_log = 'only allow jpg,png,gif'; die ('upload error:' . $error_log); } switch ($file_type) { case 'image/jpg' : case 'image/jpeg' : case 'image/pjpeg' : $extension = 'jpg'; break; case 'image/png' : $extension = 'png'; break; case 'image/gif' : $extension = 'gif'; break; } } if (!is_file($img_data)) { die ('Image upload error!'); } // 图片保存路径,默认保存在该代码所在目录(可根据实际需求修改保存路径) $save_path = dirname(FILE); $uinqid = uniqid(); $filename = $save_path . '/' . $uinqid . '.' . $extension; $result = move_uploaded_file($img_data, $filename); if (!$result || !is_file($filename)) { die ('Image upload error!'); } echo 'Image data save successed,file:' . $filename; exit ();

备注:可牛看图提供两个上传接口供测试 一个是octet-stream方式上传,地址为:http://imgkaka.meitu.com/xiuxiu_web_pic_save.php 另一个是multipart/form-data方式上传,地址为:http://web.upload.meitu.com/image_upload.php 表单名称为"upload_file"。

© 著作权归作者所有

共有 人打赏支持
crossmix
粉丝 64
博文 302
码字总数 645711
作品 0
广州
高级程序员
快速有效学习php的5个方法

  php是当今最广泛使用的语言,它普遍用于开发基于Web的应用程序和网站。 同时它是最容易学习和使用的。 有很多免费的教程网站,可以轻松地学习PHP。 还有一些网站工具的使用可以加快你的学...

悠闲php ⋅ 2017/01/05 ⋅ 0

网络安全入坑指南(授课版)

国庆前的周末,我做了一场两天两夜的技术公开课,包括网络安全入坑指南、(入门导论、行业解读、学习指南)网络安全攻击与防御、渗透测试入门、WiFi无线攻防等课题,目前部分授课视频已经上传...

陈鑫杰 ⋅ 2017/10/08 ⋅ 0

整合百度UEditor上传图片到阿里云OSS

前言 将图片上传到阿里云OSS是一种趋势,一个必然。当你的项目图片过多,需要频繁上传和替换的时候,用阿里云OSS可以很方便的管理你的图片,节省服务器空间,大大提高了效率。阿里云OSS是阿里...

zacklee ⋅ 2017/09/17 ⋅ 0

一些程序员用到的网站(摘抄的)

1、博客园(http://www.cnblogs.com/) 博客园创立于2004年1月,是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通...

AAA年华 ⋅ 2017/11/17 ⋅ 0

OSChina 开源周刊 47 期,每周技术精粹

每周技术回顾,总有你想要的! 开源资讯 Intel 推多操作系统引擎,安卓应用可移植 iOS 平台 Google Android 将支持 Vulkan Adobe 修复 Flash 播放器 35 个漏洞 Canonical 开源前 Ubuntu One...

OSC编辑部 ⋅ 2015/08/14 ⋅ 0

绝对干货-国内值得关注的官方API集合,很全很强大(必须收藏)

相关阅读: 吊炸天!74款APP完整源码! 123个微信小程序源码分享(附下载) [干货]2017已来,最全面试总结——这些Android面试题你一定需要 第一 笔记 为知笔记(http://www.wiz.cn/manual...

xhmj12 ⋅ 2017/01/20 ⋅ 0

学编程有哪些好点的网站呢?

学编程有哪些好点的网站呢? 零基础学习C语言、Java语言 : http://www.fenby.com 零基础学习linux语言: linuxcast 提高学习PHP学习:php100 零基础学习各种闲散知识:网易公开课 以上是简单...

micf435p6d221ssdld2 ⋅ 2017/12/05 ⋅ 0

JEECG 3.7.5 Vue SPA 单页面应用版本发布

此版本为Vue+ElementUI SPA单页面应用版本,提供新一代风格代码生成器模板,采用Vue技术,提供两套精美模板ElementUI风格、Bootstrap分隔,大家速度体验,新鲜出炉,哇咔咔!! JEECG 是一款基...

Jeecg ⋅ 05/31 ⋅ 0

新浪云计算 SAE Python 平台全面开放

2月28日消息,新浪云计算SAE(Sina App Engine,简称SAE)今日正式宣布开放其Python应用开发平台,该平台主要为开发者提供运行Python web应用所需的环境。这是继支持PHP、Java语言后,新浪云在...

山山081 ⋅ 2013/02/28 ⋅ 23

.NetCore上传多文件的几种示例

本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理+ajax提交+上传进度,相信当你读完文章内容后能后好...

神牛步行3 ⋅ 2017/05/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 10分钟前 ⋅ 1

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部