用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(临时路径名附件,真实路径名附件)
http中上传文件的原理如下:在最初的http协议中,没有上传文件方面的功能。 rfc1867 ( http://www.ietf.org/rfc/rfc1867.txt ) 为 http 协议添加了这个功能。客户端的浏览器,如 Microsoft IE, Mozila, Opera 等,按照此规范将用户指定的文件发送到服务器。服务器端的网页程序,如 php, asp, jsp 等,可以按照此规范,解析出用户发送来的文件。Microsoft IE, Mozila, Opera 已经支持此协议,在网页中使用一个特殊的 form 就可以发送文件。绝大部分 http server ,包括 tomcat ,已经支持此协议,可接受发送来的文件。各种网页程序,如 php, asp, jsp 中,对于上传文件已经做了很好的封装。
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)