HTML表单的POST上传方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML表单的POST上传方式相关的知识,希望对你有一定的参考价值。
POST上传方式说是:将数据放置在html文件头中发送给服务器。
这个文件头指的是什么?是不是就是标签<head></head>之间的内容
http是种协议。如果有兴趣可以了解一下,但是跟你写网页什么的没什么很重要的关系追问
是不是就是在OSI的某个层加包头的时候,加在包头里面?
追答算是吧。
http://blog.csdn.net/darxin/article/details/4944225
文件上传
文件上传分为两个步骤
1,客户端用户上传;
a)需要一个表单域,用来注入要上传的文件,
<input type="file" name="file" />
b)用户选择所需要上传的文件
c)用户点击,将文件发送给服务器
2,服务器接收
form表单使用POST提交方式。
*注意:GET,POST不能提交二进制文件,但是POST提交增加一个属性便可以完成。
<form action="file.php" method="POST" enctype="multipart/form-data">
html部分:
html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件上传</title> </head> <body> <form action="file.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="提交"/> </form> </body>
php部分
var_dump($_FILES) 时发现得到的是一个数组
array ‘file‘ => array ‘name‘ => string ‘4.jpg‘ (length=5) ‘type‘ => string ‘image/jpeg‘ (length=10) ‘tmp_name‘ => string ‘F:\wamp\tmp\php904D.tmp‘ (length=23) ‘error‘ => int 0 ‘size‘ => int 273665
此时要进行数据验证
a)根据二维数组找到error点;
switch($_FILES[‘file‘][‘error‘]){ case ‘0‘: echo "上传成功"; break; case ‘1‘: case ‘2‘: header(‘Refresh:3;url=file.html‘); echo "文件大小超过服务器限制"; break; case ‘3‘: header(‘Refresh:3;url=file.html‘); echo "文件只有部分上传成功"; break; case ‘4‘: header(‘Refresh:3;url=file.html‘); echo "未选中文件,请重新选择文件并提交"; break; default: echo "文件上传失败"; }
b)文件上传成功后,放到了指定的临时目录中,此时需要更改到期待的文件中,
php有一个函数可以完成,move_uploaded_file()
eg:
move_uploaded_file($_FILES[‘file‘][‘tmp_name‘], ‘./cy1/‘ . $_FILES[‘file‘][‘name‘]);
注:tmp_name,文件上传到服务器的临时目录,
‘name‘,文件在客户端本地的文件名字。
以上是关于HTML表单的POST上传方式的主要内容,如果未能解决你的问题,请参考以下文章