PHP流式上传和表单上传(美图秀秀)
来源:互联网 发布:windows xp 原版 编辑:程序博客网 时间:2024/06/11 05:00
最近需要开发一个头像上传的功能,找了很多都需要授权的,后来找到了美图秀秀,功能非常好用。
01
<?php
02
/**
03
* Note:for octet-stream upload
04
* 这个是流式上传PHP文件
05
* Please be amended accordingly based on the actual situation
06
*/
07
$post_input
=
'php://input'
;
08
$save_path
= dirname(
__FILE__
);
09
$postdata
=
file_get_contents
(
$post_input
);
10
if
(isset(
$postdata
) &&
strlen
(
$postdata
) > 0) {
11
$filename
=
$save_path
.
'/'
. uniqid() .
'.jpg'
;
12
$handle
=
fopen
(
$filename
,
'w+'
);
13
fwrite(
$handle
,
$postdata
);
14
fclose(
$handle
);
15
if
(
is_file
(
$filename
)) {
16
echo
'Image data save successed,file:'
.
$filename
;
17
exit
();
18
}
else
{
19
die
(
'Image upload error!'
);
20
}
21
}
else
{
22
die
(
'Image data not detected!'
);
23
}
01
<?php
02
/**
03
* Note:for multipart/form-data upload
04
* 这个是标准表单上传PHP文件
05
* Please be amended accordingly based on the actual situation
06
*/
07
if
(!
$_FILES
[
'Filedata'
]) {
08
die
(
'Image data not detected!'
);
09
}
10
if
(
$_FILES
[
'Filedata'
][
'error'
] > 0) {
11
switch
(
$_FILES
[
'Filedata'
] [
'error'
]) {
12
case
1 :
13
$error_log
=
'The file is bigger than this PHP installation allows'
;
14
break
;
15
case
2 :
16
$error_log
=
'The file is bigger than this form allows'
;
17
break
;
18
case
3 :
19
$error_log
=
'Only part of the file was uploaded'
;
20
break
;
21
case
4 :
22
$error_log
=
'No file was uploaded'
;
23
break
;
24
default
:
25
break
;
26
}
27
die
(
'upload error:'
.
$error_log
);
28
}
else
{
29
$img_data
=
$_FILES
[
'Filedata'
][
'tmp_name'
];
30
$size
=
getimagesize
(
$img_data
);
31
$file_type
=
$size
[
'mime'
];
32
if
(!in_array(
$file_type
,
array
(
'image/jpg'
,
'image/jpeg'
,
'image/pjpeg'
,
'image/png'
,
'image/gif'
))) {
33
$error_log
=
'only allow jpg,png,gif'
;
34
die
(
'upload error:'
.
$error_log
);
35
}
36
switch
(
$file_type
) {
37
case
'image/jpg'
:
38
case
'image/jpeg'
:
39
case
'image/pjpeg'
:
40
$extension
=
'jpg'
;
41
break
;
42
case
'image/png'
:
43
$extension
=
'png'
;
44
break
;
45
case
'image/gif'
:
46
$extension
=
'gif'
;
47
break
;
48
}
49
}
50
51
if
(!
is_file
(
$img_data
)) {
52
die
(
'Image upload error!'
);
53
}
54
55
// 图片保存路径,默认保存在该代码所在目录(可根据实际需求修改保存路径)
56
$save_path
= dirname(
__FILE__
);
57
$uinqid
= uniqid();
58
$filename
=
$save_path
.
'/'
.
$uinqid
.
'.'
.
$extension
;
59
$result
= move_uploaded_file(
$img_data
,
$filename
);
60
if
(!
$result
|| !
is_file
(
$filename
)) {
61
die
(
'Image upload error!'
);
62
}
63
echo
'Image data save successed,file:'
.
$filename
;
64
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" 。
0 0
- PHP流式上传和表单上传(美图秀秀)
- PHP流式上传和表单上传(美图秀秀)
- PHP 表单上传文件
- 文件上传(表单上传和ajax异步上传)
- php传统表单上传数据
- php上传文件--表单提交
- 文件的上传(表单上传和ajax文件异步上传)
- 文件的上传(表单上传和ajax文件异步上传)
- 表单上传
- 表单上传
- 上传表单
- 表单上传
- 上传表单
- Android原生模拟表单提交上传多图+PHP接收表单数据和多图存储
- iOSAFN上传图片 php接收(一)(模拟表单上传)
- PHP 文件上传表单 ~~学习笔记
- php的表单提交之上传文件
- php之表单文件iframe异步上传
- 使用PhoneGap开发Android程序小记
- HDU 3729I'm Telling the Truth
- opencv图像处理
- PPT文件怎么转换成pdf
- hdu 1332 LC-Display
- PHP流式上传和表单上传(美图秀秀)
- 判断数组是否包含某元素
- HDU 2795-Billboard (单点更新,成段查询)
- css 样式
- hdu 1013 Digital Roots
- 程序员的奋斗史(四十六)——大学断代史(十)——给学弟学妹们的忠告——终结篇
- mysql日志详细解析
- poj1141
- 将pdf转换成excel的方法