html中input上传图片什么原理啊?php后台怎么处理?如果用ajax的话是传些什么?

html中input上传图片什么原理啊?php后台怎么处理?如果用ajax的话是传些什么?,第1张

用input上传图片是把图片作为文件传输的,在php后台中使用 $_FILES来接收。

注意:前端的form表单除了action ,method 属性外,还要添加一个'enctype'属性,否则文件传输不成功。

<form enctype="multipart/form-data">

              <input  type="file"    >

</form>

$_FILES接收信息 有几个属性:

          name ,   上传的文件名称

          size    ,    上传的文件大小

tmp_name  ,    临时路径

type  ,            文件类型

error                错误提示

error取值说明:

( 0:没问题。1/2:大小超过限制[ 1->超出php.ini限制。2->超出文件域max_file限制 ]。3:只上传部分附件(不好测试)。4:没有上传附件)

有上传信息时:$_FILES接收到的附件信息:

没有上传信息时:$_FILES接收到的附件信息:

保存附件:把上传的文件由临时路径保存到真实的图片存储的位置。

          move_uploaded_file(临时路径名附件,真实路径名附件)

HTML中使用input type="file"上传文件时,代码中只能得到文件的名称,而有些特殊的需要要求得到上传文件的绝对路径,为此采用Javascript实现得到文件的绝对路径。

<form name="thisform" method="post"

action="<%=request.getContextPath()%>/movieManage.do" id="thisform" enctype="multipart/form-data">

<input type="file" name="theFile" onchange="document.getElementById('theFilePath').value=this.value"/>

<input type="hidden" id="theFilePath" name="theFilePath" value="">

</form>

注意:要有enctype="multipart/form-data"

Action代码:

String filePath = request.getParameter("theFilePath")

filePath既是上传文件的绝对路径。

浏览器中测试:

Firefox和IE中可以得到绝对路径。

这个是上传文件的html标签,一般用在表单里面,完整写法是<input type='file' name='file' />  然后php端用$_POST['file']或者$_GET['file']这样接文件

上传的原理是:上传文件直接上传成功,暂存为.tmp格式的文件,一般是接收之后,将文件移动到别的目录


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7013615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-31
下一篇 2023-03-31

发表评论

登录后才能评论

评论列表(0条)

保存