目录结构
文件上传:也即本地文件上传到目标服务器上。
如下:
实例在test 项目下完成,目录结构为:
test
|------ upload #文件上传的目录
|------ form.html #表单文件
|------- upload_file.php #PHP上传代码
upload : 用来保存上传成功文件的位置,可有可无。
form.html : 文件上传表单,也即上传页面。
关键代码
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
有关上面的 HTML 表单的一些注意项列举如下:
- 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
- 标签的 type=“file” 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
所以创建上传脚本,也即upload_file.php。
功能1:处理操作
功能2:上传限制
功能3:保存文件
用来处理上传之后的处理操作:
比如上传文件是否成功,成功的话,输出路径,失败的话,输出错误信息。
基于安全方面的考虑,应当增加有关允许哪些用户上传文件的限制。
比如文件类型限制 ,文件大小限制。
保存被上传的文件:
判断当前目录下的 upload 目录是否存在该文件
如果没有 upload 目录,你需要创建它,upload 目录权限为 777
以及是否对上传之后的文件名进行更改,一般用随机名。