文档章节

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

crossmix
 crossmix
发布于 2015/04/09 10:59
字数 305
阅读 98
收藏 2

首先打开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
粉丝 67
博文 305
码字总数 645711
作品 0
广州
高级程序员
私信 提问
网络安全入坑指南(授课版)

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

陈鑫杰
2017/10/08
0
0
快速有效学习php的5个方法

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

悠闲php
2017/01/05
0
0
为什么文件上传表单是主要的安全威胁

为了让最终用户将文件上传到您的网站,就像是给危及您的服务器的恶意用户打开了另一扇门。即便如此,在今天的现代互联网的Web应用程序,它是一种常见的要求,因为它有助于提高您的业务效率。...

mr_dion
2013/09/11
11.5K
45
JEECG 3.7.5 Vue SPA 单页面应用版本发布

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

Jeecg
05/31
1K
6
Java 快速开发平台 JEECG 3.7.6,高考性能增强版本发布

JEECG 3.7.6 高考性能增强版本发布 导读 ⊙Vue SPA单页面应用 ⊙Datagrid标签实现不同风格切换,支持BootstrapTable、EasyUI ⊙灵活通用代码生成器工厂 ⊙精美Echart报表 ⊙平台大动作重构 ...

Jeecg
06/08
1K
5

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
15
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部