<?php
error_reporting(0);
define('UC_SITE', 'http://127.0.0.1/ucflash/'); //你只要指定根目录即可, 后面留 /
$run = max($_GET['run'],$_GET['m']);
switch($run){
default:
$uid = 3;//假设用户ID = 3
$big_photo = tem_avatar_show($uid,'big');
$uc_avatarflash = tem_uc_avatar('virtual',"uid=$uid");
$data = tem_html();
echo strtr($data,array('{$big_photo}'=>$big_photo,'{$uc_avatarflash}'=>$uc_avatarflash));
exit();
break;
case 'user':
$_REQUEST['input'] = ''; // 为你要传的值, base64
if($_GET['a'] === 'rectavatar'){
$data = tem_onrectavatar();
}else if(empty($_GET['Upload']) === true){
$data = tem_onuploadavatar();
}
echo $data;
exit();
break;
}
# 执行结束.
# 函数开始
function tem_avatar_show($uid, $size='small', $returnsrc = false) {
# 返回图像, 自我修改吧.
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'small';
$avatarfile = './data/avatar/'.$uid.'_'.$size.'.jpg';
return $returnsrc ? $avatarfile : '<img src="'.$avatarfile.'" onerror="this.onerror=null;this.src=\'./data/avatar/noavatar_'.$size.'.gif\'">';
}
function tem_uc_avatar($type = 'virtual', $input = '') {
#弹出flash数据.
$uc_input = base64_encode($input); // 传播到上传那边去.
$url_api = UC_SITE.basename(__FILE__);
// 不太明白$type是什么意思, 难道头像还分类型.
$uc_avatarflash = './data/flashdata/camera.swf?inajax=1&appid=1&input='.$uc_input.'&agent=0&ucapi='.urlencode($url_api).'&avatartype='.$type;
return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="447" height="477" id="mycamera" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="scale" value="exactfit" />
<param name="wmode" value="transparent" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="movie" value="'.$uc_avatarflash.'" />
<param name="menu" value="false" />
<embed src="'.$uc_avatarflash.'" quality="high" bgcolor="#ffffff" width="447" height="477" name="mycamera" align="middle" allowScriptAccess="always" allowFullScreen="false" scale="exactfit" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>';
}
function tem_onuploadavatar() {
@header("Expires: 0");
@header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", false);
@header("Pragma: no-cache");
header("Content-type: text/html; charset=utf-8");
if($_GET['input'])
parse_str(base64_decode($_GET['input']),$get);
$uid = $get['uid'];
if(empty($uid)) {
return -1;
}
if(empty($_FILES['Filedata'])) {
return -3;
}
$tmpavatar = './data/uploadtem/'.$uid.'.jpg';
file_exists($tmpavatar) && @unlink($tmpavatar);
if(@copy($_FILES['Filedata']['tmp_name'], $tmpavatar) || @move_uploaded_file($_FILES['Filedata']['tmp_name'], $tmpavatar)) {
@unlink($_FILES['Filedata']['tmp_name']);
list($width, $height, $type, $attr) = getimagesize($tmpavatar);
if($width < 10 || $height < 10 || $type == 4) {
@unlink($tmpavatar);
return -2;
}
} else {
@unlink($_FILES['Filedata']['tmp_name']);
return -4;
}
return UC_SITE.'data/uploadtem/'.$uid.'.jpg';
}
function tem_onrectavatar($types = 'virtual') {
@header("Expires: 0");
@header("Cache-Control: private, post-check=0, pre-check=0, max-age=0", false);
@header("Pragma: no-cache");
header("Content-type: application/xml; charset=utf-8");
if($_GET['input'])
parse_str(base64_decode($_GET['input']),$get);
$uid = $get['uid'];
if(empty($uid)) {
return '<root><message type="error" value="-1" /></root>';
}
function flashdata_decode($s) {
$r = '';
$l = strlen($s);
for($i=0; $i<$l; $i=$i+2) {
$k1 = ord($s[$i]) - 48;
$k1 -= $k1 > 9 ? 7 : 0;
$k2 = ord($s[$i+1]) - 48;
$k2 -= $k2 > 9 ? 7 : 0;
$r .= chr($k1 << 4 | $k2);
}
return $r;
}
$avatartype = $types == 'real' ? 'real' : 'virtual';
$bigavatarfile = './data/avatar/'.$uid.'_big.jpg';
$middleavatarfile = './data/avatar/'.$uid.'_middle.jpg';
$smallavatarfile = './data/avatar/'.$uid.'_small.jpg';
$bigavatar = flashdata_decode($_POST['avatar1']);
$middleavatar = flashdata_decode($_POST['avatar2']);
$smallavatar = flashdata_decode($_POST['avatar3']);
if(!$bigavatar || !$middleavatar || !$smallavatar) {
return '<root><message type="error" value="-2" /></root>';
}
$success = 1;
$fp = @fopen($bigavatarfile, 'wb');
@fwrite($fp, $bigavatar);
@fclose($fp);
$fp = @fopen($middleavatarfile, 'wb');
@fwrite($fp, $middleavatar);
@fclose($fp);
$fp = @fopen($smallavatarfile, 'wb');
@fwrite($fp, $smallavatar);
@fclose($fp);
$biginfo = @getimagesize($bigavatarfile);
$middleinfo = @getimagesize($middleavatarfile);
$smallinfo = @getimagesize($smallavatarfile);
if(!$biginfo || !$middleinfo || !$smallinfo || $biginfo[2] == 4 || $middleinfo[2] == 4 || $smallinfo[2] == 4) {
file_exists($bigavatarfile) && unlink($bigavatarfile);
file_exists($middleavatarfile) && unlink($middleavatarfile);
file_exists($smallavatarfile) && unlink($smallavatarfile);
$success = 0;
}
@unlink('./data/uploadtem/'.$uid.'.jpg');
if($success) {
return '<?xml version="1.0" ?><root><face success="1"/></root>';
} else {
return '<?xml version="1.0" ?><root><face success="1"/></root>';
}
}
function tem_html(){
return '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>头像测试</title>
<script type="text/javascript">
function updateavatar() {
window.location.reload();
}
</script>
</head>
<body>
------------------------------当前头像-------------------------------------------<br />
{$big_photo}
<br />
----------------------------上传新头像--------------------------------------------<br />
{$uc_avatarflash}
</body>
</html>';
}
?>
discuz 截取头像
4星 · 超过85%的资源 需积分: 10 70 浏览量
2012-12-24
16:47:46
上传
评论
收藏 124KB RAR 举报
忠忠
- 粉丝: 136
- 资源: 1
最新资源
- 校园帮项目,毕业设计/课程设计/javaWeb/SSM
- C++ plotting library,matplotlib-cpp-master.zip
- 案例源码matplotlib-examples-master.zip
- 基于JavaScript 实现的KMP 算法
- 基于C++实现二叉树的创建,遍历,添加,查找与删除
- 基于C语言实现二叉树的基本操作
- 毕业设计基于STM32的测量温度与压力的数据处理设计C语言完整源码+论文.zip
- 基于MATLAB的PCA算法人脸识别项目源码+GUI界面+说明文档.zip
- 基于STM32的测量温度与压力的数据处理设计源码+论文(毕业设计).zip
- Vision Transformer 网络对不同氨气氧气浓度轨迹RAS 图像数据集的分类,包含训练权重和数据集、迁移学习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈