ThinkPHP框架做的测试

HTML:

<!DOCTYPE html>
<html lang=\"en\">
<head>
	<  charset=\"UTF-8\">
	< >上传图片带标题</ >
	<  type=\"text/ \" src=\"jquery-1.8.3.min.js\"></ >
	<style type=\"text/css\">
		.center{width: 450px;margin: auto;text-align: center;border: 1px solid #ccc;}
		input[type=\"button\"]{width: 30px;height: 25px;}
		input[type=\"file\"]{width: 150px;border: 1px solid #ccc;}
	</style>
	<  type=\"text/ \">
		$(function () {
			$(\'.but_add_cla\').click(function () {
				var template_html = $(\'#template_append_info\').html();
				$(this).parents(\'.center\').append(template_html);
			});
			$(\'.but_add_cla_two\').click(function () {
				var template_html_two = $(\'#template_append_info_two\').html();
				$(this).parents(\'.center\').append(template_html_two);
			});
		});
		
		function remove_element(obj,oldimg,formids) {
			if (oldimg){
				var formidsval = formids ? formids : \'FormIds\' ;
				$(\'#\'+formidsval).append(\'<input type=\"hidden\" name=\"oldimg[]\" value=\"\'+oldimg+\'\">\');
			}
			$(obj).parent().remove();
		}
	</ >
</head>
<body>
<form id=\"FormIds\" action=\"{:U(\'Index/index\')}\" method=\"post\" enctype=\"multipart/form-data\">
<div class=\"center\">
	<p class=\"pval\">
		<input type=\"text\" name=\" []\" value=\"{$imgarr[0][\' \']}\">
		<input type=\"file\" name=\"img[]\">
		<input type=\"hidden\" name=\"imgval[]\" value=\"{$imgarr[0][\'imgval\']}\">
		<input type=\"button\" class=\"but_add_cla\" value=\"+\">
		<if condition=\"$imgarr[0][\'imgval\']\">
			<img src=\"{$imgarr[0][\'imgval\']}\" width=\"20\">
		</if>
	</p>

	<volist name=\'imgarr\' id=\'val\'>
		<if condition=\'$key gt 0\'>
			<p class=\"pval\">
				<input type=\"text\" name=\" []\" value=\"{$val. }\">
				<input type=\"file\" name=\"img[]\">
				<input type=\"hidden\" name=\"imgval[]\" value=\"{$val.imgval}\">
				<input type=\"button\" value=\"-\"  =\"remove_element(this,\'{$val.imgval}\');\">
				<img src=\"{$val.imgval}\" width=\"20\">
			</p>
		</if>
	</volist>
</div>
	<p style=\"text-align: center;margin-bottom: 100px;\"><input type=\"submit\" value=\"提交\"></p>
</form>
<div id=\"template_append_info\" style=\"display: none;\">
	<p class=\"pval\">
		<input type=\"text\" name=\" []\">
		<input type=\"file\" name=\"img[]\">
		<input type=\"button\" value=\"-\"  =\"remove_element(this);\">
	</p>
</div>


<form id=\"FormIdsTwo\" action=\"{:U(\'Index/index\')}\" method=\"post\" enctype=\"multipart/form-data\">
	<div class=\"center\">
		<p class=\"pval\">
			<input type=\"text\" name=\"info[ ][]\" value=\"{$imgarrtwo[0][\' \']}\">
			<input type=\"file\" name=\"info[img][]\">
			<input type=\"hidden\" name=\"info[imgval][]\" value=\"{$imgarrtwo[0][\'imgval\']}\">
			<input type=\"button\" class=\"but_add_cla_two\" value=\"+\">
			<if condition=\"$imgarrtwo[0][\'imgval\']\">
				<img src=\"{$imgarrtwo[0][\'imgval\']}\" width=\"20\">
			</if>
		</p>

		<volist name=\'imgarrtwo\' id=\'val\'>
			<if condition=\'$key gt 0\'>
				<p class=\"pval\">
					<input type=\"text\" name=\"info[ ][]\" value=\"{$val. }\">
					<input type=\"file\" name=\"info[img][]\">
					<input type=\"hidden\" name=\"info[imgval][]\" value=\"{$val.imgval}\">
					<input type=\"button\" value=\"-\"  =\"remove_element(this,\'{$val.imgval}\',\'FormIdsTwo\');\">
					<img src=\"{$val.imgval}\" width=\"20\">
				</p>
			</if>
		</volist>
	</div>
	<p style=\"text-align: center;margin-bottom: 100px;\"><input type=\"submit\" value=\"提交\"></p>
</form>
<div id=\"template_append_info_two\" style=\"display: none;\">
	<p class=\"pval\">
		<input type=\"text\" name=\"info[ ][]\">
		<input type=\"file\" name=\"info[img][]\">
		<input type=\"button\" value=\"-\"  =\"remove_element(this);\">
	</p>
</div>
</body>
</html>

 

PHP:

/**
 * 上传图片带标题/上传相册
 */
if (!empty($_FILES)){
	$istype = array(\'jpg\',\'jpeg\',\'png\',\'gif\');
	$path = \'uploads/testimg/\';
	$file_size = 10485760; //10M
	$error = array(\'uptype\'=>\'上传文件类型不允许\',\'uperror\'=>\'文件上传保存错误\',\'upsize\'=>\'上传文件大小不能大于10M或文件大小不符合\');
	if (!is_dir($path)){
		mkdir(iconv(\"UTF-8\", \"GBK\", $path),0777,true);
	}


	if ($_FILES[\'img\'][\'name\']){
		foreach ($_FILES[\'img\'][\'name\'] as $isk=>$isv){
			if ($isv){
				$ext = pathinfo($isv);
				if (!in_array(strtolower($ext[\'extension\']),$istype)){
					$this->error($error[\'uptype\']);die;
				}
				$size = $_FILES[\'img\'][\'size\'][$isk];
				if (($size > $file_size) || (-1 == $file_size)){
					$this->error($error[\'upsize\']);die;
				}
			}
		}
		$arr_data = array();
		foreach ($_FILES[\'img\'][\'name\'] as $key=>$value){
			if ($value){
				$type = pathinfo($value);
				$tmp_name = $_FILES[\'img\'][\'tmp_name\'][$key];
				$ImgName = time().mt_rand(0,9999);
				$filename = $path.$ImgName.\'.\'.$type[\'extension\'];
				if (!move_uploaded_file($tmp_name,$filename)){
					$this->error($error[\'uperror\']);die;
				}
				$imgval = $filename;
				if (file_exists($_POST[\'imgval\'][$key])){
					un ($_POST[\'imgval\'][$key]);
				}
			}else{
				$imgval = $_POST[\'imgval\'][$key];
			}
			if ($_POST[\' \'][$key] || $_POST[\'imgval\'][$key] || $value){ /* 防止空数据 */
				$arr_data[$key][\' \'] = $_POST[\' \'][$key];
				$arr_data[$key][\'imgval\'] = $imgval;
			}
		}
		foreach ($_POST[\'oldimg\'] as $kk=>$vv){
			if ($vv && file_exists($vv)){
				un ($vv);
			}
		}

		$img_data = addslashes(json_encode($arr_data));
		$infoval[\'info\'] = $img_data;
		M(\'test\')->where(\"id = 1\")->save($infoval);


		print_r($arr_data);
	}


	if ($_FILES[\'info\'][\'name\']){
		foreach ($_FILES[\'info\'][\'name\'][\'img\'] as $isk=>$isv){
			if ($isv){
				$ext = pathinfo($isv);
				if (!in_array(strtolower($ext[\'extension\']),$istype)){
					$this->error($error[\'uptype\']);die;
				}
				$size = $_FILES[\'info\'][\'size\'][\'img\'][$isk];
				if (($size > $file_size) || (-1 == $file_size)){
					$this->error($error[\'upsize\']);die;
				}
			}
		}
		$arr_data = array();
		foreach ($_FILES[\'info\'][\'name\'][\'img\'] as $key=>$value){
			if ($value){
				$type = pathinfo($value);
				$tmp_name = $_FILES[\'info\'][\'tmp_name\'][\'img\'][$key];
				$ImgName = time().mt_rand(0,9999);
				$filename = $path.$ImgName.\'.\'.$type[\'extension\'];
				if (!move_uploaded_file($tmp_name,$filename)){
					$this->error($error[\'uperror\']);die;
				}
				$imgval = $filename;
				if (file_exists($_POST[\'info\'][\'imgval\'][$key])){
					un ($_POST[\'info\'][\'imgval\'][$key]);
				}
			}else{
				$imgval = $_POST[\'info\'][\'imgval\'][$key];
			}
			if ($_POST[\'info\'][\' \'][$key] || $_POST[\'info\'][\'imgval\'][$key] || $value){ /* 防止空数据 */
				$arr_data[$key][\' \'] = $_POST[\'info\'][\' \'][$key];
				$arr_data[$key][\'imgval\'] = $imgval;
			}
		}
		foreach ($_POST[\'oldimg\'] as $kk=>$vv){
			if ($vv && file_exists($vv)){
				un ($vv);
			}
		}

		$img_data = addslashes(json_encode($arr_data));
		$infoval[\'info\'] = $img_data;
		M(\'test\')->where(\"id = 2\")->save($infoval);


		print_r($arr_data);
	}

}

 

 

欢迎大家一起来探讨!

 

 

收藏 打印