把SWF上传插件去掉改成:点击头像选择文件完成上传或点保存好完成上传
PHP后端:
public function avatar(){
$uid = get_cookie('uid');
$user = M('bering')->find($uid);
if (!$user) {
$this->error('请重新登录',U(MODULE_NAME.'/Public/login'));
}
if (IS_POST) {
$path = I('path', '', 'trim');
$data['face'] = $path;
$data['id'] = $uid;
if (empty($data['face'])) {
$this->error('请上传图片!');
}
if (M('bering')->save($data) !== false) {
$this->success('保存成功',U('bering/avatar'));
//$this->redirect('bering/avatar');
}else{
$this->error('保存失败!');
}
exit();
}
$this->assign('user', $user);
$this->assign('uid', $uid);
$this->assign('title', '头像设置');
$this->display();
}
public function saveavater(){
$uid = intval(get_cookie('uid'));
if (!$uid) {
$this->error('请重新登录',U('Public/login'));
}
$rs = array();
//上传切头像
$input = file_get_contents('php://input');
$data = explode('--------------------', $input);
$url = './uploads/avatar';
$file = '/'.$uid.'.jpg';
if (!file_exists($url)){
mkdir($url);
}
@file_put_contents($url.$file, $data[0]);
$rs['status'] = $url.$file;
$this->ajaxReturn($rs);
}
html_js前端:
<div class="picmain">
<div class="bering_main">
<div class="setting" id="avatar_main">
<div class="form">
<form method="post" enctype="multipart/form-data" id="upForm" action="{:U('bering/avatar')}">
<dl><dd>头像:<if condition="$user['face']"><img src="{$user.face}" /><else /><img src="__AVATAR__/system/0.gif" /></if></dd></dl>
<dl>上传头像
<dd><div id="altContent" ></div><input type="hidden" name="path" id="path" /></dd>
</dl>
<!--<div class="form_b"><input type="submit" class="btn_blue" id="submit" value="保存"></div>-->
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function submitForm(path) {
$("#path").val(path);
$("#altContent").hide();
$("#upForm").submit();
$("#TB_closeWindowButton").trigger('click');
}
function uploadevent(status) {
status = status.substring(1);
if (status && status !== -1) {
submitForm(status);
} else if (status === -2) {
alert('头像上传失败!');
} else {
$("#TB_closeWindowButton").trigger('click');
}
}
var flashvars = {
"jsfunc": "uploadevent",
"imgUrl": imgUrl,
"pid": "75642723",
"uploadSrc": true,
"showBrow": true,
"showCame": true,
"uploadUrl":"{:U('bering/saveavater')}"
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
wmode: "transparent",
bgcolor: "#FFFFFF"
};
var attributes = {
id: "FaustCplus"
};
swfobject.embedSWF("__DATA__/FaustCplus/FaustCplus.swf", "altContent", "750", "500", "9.0.0", "expressInstall.swf",flashvars,params,attributes);
</script>
PHP后端:
public function avatar(){
$uid = get_cookie('uid');
$user = M('bering')->find($uid);
if (!$user) {
$this->error('请重新登录',U(MODULE_NAME.'/Public/login'));
}
if (IS_POST) {
$path = I('path', '', 'trim');
$data['face'] = $path;
$data['id'] = $uid;
if (empty($data['face'])) {
$this->error('请上传图片!');
}
if (M('bering')->save($data) !== false) {
$this->success('保存成功',U('bering/avatar'));
//$this->redirect('bering/avatar');
}else{
$this->error('保存失败!');
}
exit();
}
$this->assign('user', $user);
$this->assign('uid', $uid);
$this->assign('title', '头像设置');
$this->display();
}
public function saveavater(){
$uid = intval(get_cookie('uid'));
if (!$uid) {
$this->error('请重新登录',U('Public/login'));
}
$rs = array();
//上传切头像
$input = file_get_contents('php://input');
$data = explode('--------------------', $input);
$url = './uploads/avatar';
$file = '/'.$uid.'.jpg';
if (!file_exists($url)){
mkdir($url);
}
@file_put_contents($url.$file, $data[0]);
$rs['status'] = $url.$file;
$this->ajaxReturn($rs);
}
html_js前端:
<div class="picmain">
<div class="bering_main">
<div class="setting" id="avatar_main">
<div class="form">
<form method="post" enctype="multipart/form-data" id="upForm" action="{:U('bering/avatar')}">
<dl><dd>头像:<if condition="$user['face']"><img src="{$user.face}" /><else /><img src="__AVATAR__/system/0.gif" /></if></dd></dl>
<dl>上传头像
<dd><div id="altContent" ></div><input type="hidden" name="path" id="path" /></dd>
</dl>
<!--<div class="form_b"><input type="submit" class="btn_blue" id="submit" value="保存"></div>-->
</form>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function submitForm(path) {
$("#path").val(path);
$("#altContent").hide();
$("#upForm").submit();
$("#TB_closeWindowButton").trigger('click');
}
function uploadevent(status) {
status = status.substring(1);
if (status && status !== -1) {
submitForm(status);
} else if (status === -2) {
alert('头像上传失败!');
} else {
$("#TB_closeWindowButton").trigger('click');
}
}
var flashvars = {
"jsfunc": "uploadevent",
"imgUrl": imgUrl,
"pid": "75642723",
"uploadSrc": true,
"showBrow": true,
"showCame": true,
"uploadUrl":"{:U('bering/saveavater')}"
};
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
wmode: "transparent",
bgcolor: "#FFFFFF"
};
var attributes = {
id: "FaustCplus"
};
swfobject.embedSWF("__DATA__/FaustCplus/FaustCplus.swf", "altContent", "750", "500", "9.0.0", "expressInstall.swf",flashvars,params,attributes);
</script>