| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- <?php
 
- /* 温馨提示:
 
-  * 在flash的参数名upload_url中可自行定义一些参数(请求方式:GET),定义后在服务器端获取即可,比如可以应用到用户验证,文件的保存名等。
 
-  * 本示例未作极致的用户体验与严谨的安全设计(如用户直接访问此页时该如何,万一客户端数据不可信时验证文件的大小、类型等),只保证正常情况下无误,请阁下注意。
 
-  */
 
- header('Content-Type: text/html; charset=utf-8');
 
- $result = array();
 
- $result['success'] = false;
 
- $successNum = 0;
 
- //定义一个变量用以储存当前头像的序号
 
- $avatarNumber = 1;
 
- $i = 0;
 
- $msg = '';
 
- //上传目录
 
- $dir = "upload";
 
- //遍历所有文件域
 
- while (list($key, $val) = each($_FILES))
 
- {
 
- 	if ( $_FILES[$key]['error'] > 0)
 
-     {
 
- 		$msg .= $_FILES[$key]['error'];
 
- 	}
 
- 	else
 
- 	{
 
- 		$fileName = date("YmdHis").'_'.floor(microtime() * 1000).'_'.createRandomCode(8);
 
- 		//处理原始图片(默认的 file 域的名称是__source,可在插件配置参数中自定义。参数名:src_field_name)
 
- 		//如果在插件中定义可以上传原始图片的话,可在此处理,否则可以忽略。
 
- 		if ($key == '__source')
 
- 		{
 
- 			//当前头像基于原图的初始化参数,用于修改头像时保证界面的视图跟保存头像时一致。帮助提升用户体验度。修改头像时设置默认加载的原图的url为此图片的url+该参数即可。
 
- 			$initParams = $_POST["__initParams"];
 
- 			$virtualPath = "$dir/php_source_$fileName.jpg";
 
- 			$result['sourceUrl'] = '/' . $virtualPath.$initParams;
 
- 			move_uploaded_file($_FILES[$key]["tmp_name"], $virtualPath);
 
- 			/*
 
- 				可在此将 $result['sourceUrl'] 储存到数据库
 
- 			*/
 
- 			$successNum++;
 
- 		}
 
- 		//处理头像图片(默认的 file 域的名称:__avatar1,2,3...,可在插件配置参数中自定义,参数名:avatar_field_names)
 
- 		else if (strpos($key, '__avatar') === 0)
 
- 		{
 
- 			$virtualPath = "$dir/php_avatar" . $avatarNumber . "_$fileName.jpg";
 
- 			$result['avatarUrls'][$i] = '/' . $virtualPath;
 
- 			move_uploaded_file($_FILES[$key]["tmp_name"], $virtualPath);
 
- 			/*
 
- 				可在此将 $result['avatarUrls'][$i] 储存到数据库
 
- 			*/
 
- 			$successNum++;
 
- 			$i++;
 
- 		}
 
- 		/*
 
- 		else
 
- 		{
 
- 			如下代码在上传接口upload.php中定义了一个user=xxx的参数:
 
- 			var swf = new fullAvatarEditor("swf", {
 
- 				id: "swf",
 
- 				upload_url: "Upload.php?user=xxx"
 
- 			});
 
- 			在此即可用$_POST["user"]获取xxx。
 
- 		}
 
- 		*/
 
- 	}
 
- }
 
- $result['msg'] = $msg;
 
- if ($successNum > 0)
 
- {
 
- 	$result['success'] = true;
 
- }
 
- //返回图片的保存结果(返回内容为json字符串)
 
- print json_encode($result);
 
- /**************************************************************
 
- *  生成指定长度的随机码。
 
- *  @param int $length 随机码的长度。
 
- *  @access public
 
- **************************************************************/
 
- function createRandomCode($length)
 
- {
 
- 	$randomCode = "";
 
- 	$randomChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
- 	for ($i = 0; $i < $length; $i++)
 
- 	{
 
- 		$randomCode .= $randomChars { mt_rand(0, 35) };
 
- 	}
 
- 	return $randomCode;
 
- }
 
- ?>
 
 
  |