廢話少說,直接上代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php /** * Note:for octet-stream upload * 這個(gè)是流式上傳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!' ); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<?php /** * Note:for multipart/form-data upload * 這個(gè)是標(biāo)準(zhǔn)表單上傳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!' ); } // 圖片保存路徑,默認(rèn)保存在該代碼所在目錄(可根據(jù)實(shí)際需求修改保存路徑) $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 (); |
備注:美圖秀秀提供兩個(gè)上傳接口供測(cè)試
一個(gè)是octet-stream方式上傳,地址為:http://imgkaka.meitu.com/xiuxiu_web_pic_save.php
另一個(gè)是multipart/form-data方式上傳,地址為:http://web.upload.meitu.com/image_upload.php
表單名稱為"upload_file"。