www.gusucode.com > HadSky PHP轻论坛系统源码 v2.4.2源码程序 > ytqlt_v2.4.2.0701/phpscript/uploadfile.php

    <?php
if (!defined('puyuetian'))
	exit('Not Found puyuetian!Please contact QQ632827168');

if (!chkUserQx($_G['USER']['QUANXIAN'], 'uploadfile')) {
	$_G['HTMLCODE']['TIP'] = "您所在的用户组不允许上传文件";
	$_G['HTMLCODE']['TIPJS'] = "top.document.getElementById('div_upload').style.visibility='hidden';";
	template('htmltip');
	exit();
} else {
	if ($verifycode == $_SESSION['VERIFYCODE_UPLOADFILE']) {
		$_SESSION['VERIFYCODE_UPLOADFILE'] = '';
		$useruploadfilespath = $_G['SYSTEM']['PATH'] . "/uploadfiles/{$_G['USER']['ID']}/";
		if (!file_exists($useruploadfilespath)) {
			mkdir($useruploadfilespath);
		}
		if ($_FILES['file']['error'] > 0) {
			$_G['HTMLCODE']['TIP'] = "上传文件错误,错误代码:{$_FILES['file']['error']}";
			template('htmltip');
			exit();
		}
		if ($_FILES['file']['size'] < 10) {
			$_G['HTMLCODE']['TIP'] = "未选择文件或文件过小!";
			template('htmltip');
			exit();
		}
		if (Cnum(ArrayData($_G['USER']['DATA'], 'uploadsize'))) {
			if ($_FILES['file']['size'] > (Cnum(ArrayData($_G['USER']['DATA'], 'uploadsize')) * 1024)) {
				$_G['HTMLCODE']['TIP'] = "上传文件不能超过{$_G['SET']['UPLOADFILESIZE']}K";
				template('htmltip');
				exit();
			}
		} else {
			if ($_FILES['file']['size'] > ($_G['SET']['UPLOADFILESIZE'] * 1024)) {
				$_G['HTMLCODE']['TIP'] = "上传文件不能超过{$_G['SET']['UPLOADFILESIZE']}K";
				template('htmltip');
				exit();
			}
		}
		$uploadfilesuffix = strtolower(end(explode('.', $_FILES['file']['name'])));
		if (!chkuploadfilesuffix($uploadfilesuffix)) {
			$_G['HTMLCODE']['TIP'] = "不允许的文件后缀:{$uploadfilesuffix},请核对后再上传";
			template('htmltip');
			exit();
		}
		$filehz = '.' . $uploadfilesuffix;
		$filename = time() . $filehz;
		$filename = explode('.', $filename);
		$zzfilename = md5($filename[0] + $RND + Cnum($_G['SET']['DOWNLOADFILERND'])) . '.' . $filename[1];
		$filesize = (int)($_FILES['file']['size'] / 1024) + 1;
		if (is_uploaded_file($_FILES['file']['tmp_name'])) {
			move_uploaded_file($_FILES['file']['tmp_name'], $useruploadfilespath . $zzfilename);
		} else {
			$_G['HTMLCODE']['TIP'] = "上传文件类型错误,仅允许jpg,png,gif,bmp";
			template('htmltip');
			exit ;
		}
		//记录上传历史
		$uploadarray['filename'] = $zzfilename;
		$uploadarray['filesuffix'] = $filename[1];
		$uploadarray['uid'] = $_G['USER']['ID'];
		$uploadarray['uploadtime'] = time();
		$_G['TABLE']['UPLOAD'] -> newData($uploadarray);
		if ($filehz == '.jpg' || $filehz == '.bmp' || $filehz == '.gif' || $filehz == '.png') {
			$jsscript = "
			<script>
				var imgurl='uploadfiles/{$_G['USER']['ID']}/{$zzfilename}';
				top.document.getElementById('divuploadimgs').innerHTML+='<img class=upload-insert-img title=点击插入图片 src='+imgurl+' onclick=insertimg(\"'+imgurl+'\")>';
			</script>
			";
		} else {
			$__url = "index.php?c=download&uid={$_G['USER']['ID']}&id={$filename[0]}&type={$filename[1]}&rnd={$RND}";
			$__name = date('YmdHis', $filename[0]) . ".{$filename[1]}({$filesize}KB)";
			$jsscript = "
			<script>
				var td=top.document.getElementById('divuploadfiles');
				td.innerHTML+='<a class=upload-insert-a href=\"javascript:\" title=\"{$_url}\" onclick=\"showsetfiletjn(\\'{$__url}\\',\\'{$filename[1]}\\',\\'{$filesize}\\')\">{$__name}</a>';
			</script>
			";
		}
		$_G['HTMLCODE']['TIP'] = "上传成功!请<span style='color:red'>点击上传列表插入已上传文件</span>{$jsscript}<script>window.onload=function(){document.getElementById('uploadbtn').innerHTML='继续上传'}</script>";
		$_G['HTMLCODE']['TIPJS'] = "window.open('index.php?c=orderupload&type=uploadfile&rnd={$RND}','ifrmupload')";
		template('htmltip');
		//echo $htmlcode, $jsscript;
	} else {
		$_SESSION['UPLOADFILE_VERIFYCODE'] = '';
		$_G['HTMLCODE']['TIP'] = "上传验证码错误,请刷新页面重试";
		template('htmltip');
		exit();
	}
}
exit();