首页 > 技术文章 > 通过form上传文件(php)

dongfangchun 2016-03-25 18:13 原文

 前段代码

//提交form表单,包含file

//方法1:使用jquery-form.js插件
/*
$("form").ajaxSubmit(function (resp_img_url) {
	//直接返回图片的url
	$("#btn_titlepic").html(str_old);
	$("#img_titlepic").attr("src",resp_img_url.data);				
});
*/

//方法2:使用FormData数据,直接ajax提交
var formdata = new FormData(document.getElementById("uploadfile"));
$.ajax({
  url: '//www.xxxx.com/backend/upload/upload_image.php',
  type: 'post',
  cache:false,
  data: formdata,   processData: false,   contentType: false,   dataType:'json',   success: function( response ) {     //直接返回图片的url     $("#btn_titlepic").html(str_old);     $("#img_titlepic").attr("src",resp_img_url.data);   } });

  

	<form action="//www.xxxx.com/backend/upload/upload_image.php" enctype="multipart/form-data" method="post" id="uploadfile" name="uploadfile">
		<input type="file" name="upfile" />
		<input type="text" value="abc" name="texna"/>
		<!--<input type="text" value="" name="filename" />-->
		<input type="submit" value="submit" hidden="true" />
	</form>

  

后端代码

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no,maximum-scale=1" />
	<title></title>
</head>

<body>

<?php


//上传文件标准信息资讯
print_r($_FILES);echo "<br/>";
echo $_FILES["upfile"]["name"];echo "<br/>";//文件原名
echo $_FILES["upfile"]["type"];echo "<br/>";//文件类型
echo $_FILES["upfile"]["tmp_name"];echo "<br/>";//后台分配的文件临时名字
echo $_FILES["upfile"]["error"];echo "<br/>";//错误信息,一般为0
echo $_FILES["upfile"]["size"];echo "<br/>";//文件大小
?>
<p>上传中请稍后</p>
<?php //创建目录 $path="image"; if (!is_dir($path)){ echo "首次上传,正在建目录<br/>"; $res=mkdir(iconv("UTF-8", "GBK", $path),0777,true); if ($res){ echo "目录 $path 创建成功<br/>"; }else{ echo "目录 $path 创建失败<br/>"; } } //保存至文件夹 move_uploaded_file($_FILES["upfile"]["tmp_name"], "image/".time().$_FILES["upfile"]["name"]); ?> </body> </html>

  

推荐阅读