美图秀秀web开放平台--PHP流式上传和表单上传示例分享


Posted in PHP onJune 22, 2014

废话少说,直接上代码:

<?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!');
}
<?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"。

PHP 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
PHP中Session的概念
Oct 09 PHP
PHP分页显示制作详细讲解
Nov 19 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
php判断字符串在另一个字符串位置的方法
Feb 27 PHP
php生成rss类用法实例
Apr 14 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
Aug 03 PHP
解决cPanel无法安装php5.2.17
Jun 22 #PHP
destoon设置自定义搜索的方法
Jun 21 #PHP
destoon后台网站设置变成空白的解决方法
Jun 21 #PHP
destoon常用的安全设置概述
Jun 21 #PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 #PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 #PHP
destoon整合UCenter图文教程
Jun 21 #PHP
You might like
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP学习 运算符与运算符优先级
2008/06/15 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
python制作小说爬虫实录
2017/08/14 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python实现自动化上线脚本的示例
2019/07/01 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python的faker库用法
2019/11/28 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
自动化专业毕业生自荐信
2013/11/01 职场文书
医学院护理专业应届生求职信
2013/11/12 职场文书
高中物理教学反思
2014/02/08 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
销售内勤岗位职责
2015/02/10 职场文书
工程部部长岗位职责
2015/02/12 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
首席执行官观后感
2015/06/03 职场文书
欢迎新生标语2015
2015/07/16 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
小学生节约用水倡议书
2019/08/12 职场文书