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!' );

}

/**

* 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 ();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值