最近須要開發一個頭像上傳的功能,找了不少都須要受權的,後來找到了美圖秀秀,功能很是好用。php
<?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 ();