<form method="post" id="sform" name="sform" action="do.php?x=save">
<table width="100%" cellpadding="10" cellspacing="1" align="center" border="0" bgcolor="#A8BCF3">
 <tr bgcolor="#ffffff">
  <td>
   <span id="imgSelectBox"><input type="file" id="imgsrc" name="imgsrc" value="" /></span> <input type="hidden" id="uploadimg" name="uploadimg" value="" />
  </td>
 </tr>
 <tr bgcolor="#ffffff">
  <td>
   <input type="submit" id="sSubmit" name="sSubmit" value="保存记录" />
  </td>
 </tr>
</table> 
</form>

 JS:

$('#imgsrc').live('change',function () {
	//获取上传文件
	var formData = new FormData();
	formData.append('imgsrc', $('#imgsrc')[0].files[0]);
	//提交后台处理
	$.ajax({
		url: 'upload.php?x=upload',
		type: 'POST',
		cache: false,
		data: formData,
		dataType: 'JSON',
		processData: false,
		contentType: false,
		error: function(request) {
			alert('Connection error : '+request.text);
		},
		success: function(data) {
			var jsonData = data;
			if (jsonData[0].status == 1) {
				$('#imgSelectBox').html(jsonData[0].msg);
				$('#uploadimg').val(jsonData[0].url);
			}
			else {
				$('#imgSelectBox').html(jsonData[0].msg);
				$('#uploadimg').val('');
			}
		}
	});
});

PHP:

$uploadFolder = 'upload';
$FILE_EXTS = array('jpg','png','gif','jpeg','pdf','doc');

$file_type = $_FILES['imgsrc']['type'];
$file_name = $_FILES['imgsrc']['name'];
//$uploadFile = $uploadFolder.basename($file_name);

$file_ext_rev = strrev($file_name);
$file_ext_array = explode('.',$file_ext_rev);
$file_ext = $file_ext_array[0];
$file_ext = strrev($file_ext);
$file_ext = strtolower($file_ext);

$MAX_SIZE = 2;//2MB

$url = '';
if (!is_dir($uploadFolder)) {
	if (!mkdir($uploadFolder,0777)) {
		$codes = 0;
		$msg = '目录..'.$uploadFolder.'不存在,请手动建立, [<a class="reset_uploadbox" href="javascript:void(0);">返回</a>]';
		die('[{"status":"'.$codes.'","msg":"'.addslashes($msg).'"}]');
	}
	if (!chmod($uploadFolder,0777)) {
		$codes = 0;
		$msg = '目录..'.$uploadFolder.'权限设置失败,请手动设置, [<a class="reset_uploadbox" href="javascript:void(0);">返回</a>]';
		die('[{"status":"'.$codes.'","msg":"'.addslashes($msg).'"}]');
	}
}
if ($_FILES['imgsrc']['size'] > $MAX_SIZE*1024*1024) {
	$codes = 0;
	$msg = '<font color="#ff0000">上传失败</font>:文件大小不能超过 '.$MAX_SIZE.'MB , [<a class="reset_uploadbox" href="javascript:void(0);">返回</a>]';
}
elseif (!in_array($file_ext, $FILE_EXTS)) {
	$codes = 0;
	$msg = '<font color="#ff0000">上传失败</font>:不允许上传.'.$file_ext.'格式的文件 , [<a class="reset_uploadbox" href="javascript:void(0);">返回</a>]';
}
else {
	//$rand = rand(100, 999);
	//$file_name = date('Y-m-d').'-'.date('His').'-'.$rand.'.'.$file_ext;
	$file_name = date('Y-m-d').'-'.date('His').'.'.$file_ext;
	$res = move_uploaded_file($_FILES['imgsrc']['tmp_name'], $uploadFolder.$file_name);
	if ($res) {
		$codes = 1;
		$msg = '<font color="green">上传成功</font>:<a href="'.$uploadFolder.$file_name.'" target="_blank">'.$file_name.'</a>&nbsp;&nbsp;【<a class="clear_upload_record" href="javascript:void(0);">重新上传</a>】';
		$url = $uploadFolder.$file_name;
	}
	else {
		$codes = 0;
		$msg = '<font color="#ff0000">上传失败</font>:未知错误, [<a class="reset_uploadbox" href="javascript:void(0);">返回</a>]';
	}
}
echo '[{"status":"'.$codes.'","msg":"'.addslashes($msg).'","url":"'.$url.'"}]';