FavoriteLoading
0

重蔚php学习第三十五天——php表单文件上传

什么是文件上传

<input type=’file’ /> 文件框

允许用户选择一个本地文件上传至服务器

 

准备工作

1)表单

2)设置method=”post”,不能使用get

get是将数据附近地址栏中,会限制数据大小,只能传输文本数据

3)设置enctype="multipart/form-data"

上传文件时必须设置这个属性等于这个值

默认情况下,表单只传输文本数据,但文件属于二进制数据,所以设置这个属性以及属性值的含义:

这个表单上传的数据:文本数据加上二进制数据。

4)配置php配置文件

file_uploads = on;                            开启文件上传功能

upload_max_filesize = 2M;      上传文件的最大尺寸

post_max_size = 8M;                post提交数据的最大尺寸,这个值要大于upload_max_filesize

upload_tmp_dir                        发送的文件会在服务器的临时目录下存储,以一个临时文件的形式存储,如果这个选项被注释掉,会自动去找服务器操作系统的临时目录。

 

文件上传的步骤

1)用户选择本地文件

2)点击提交按钮上传文件

3)将文件数据发送到服务器的临时目录下

4)将在服务器的临时目录下产生一个临时文件,这个临时文件就是我们上传文件

5)我们需要在程序运行时,将这个临时文件移动至我们保存图片的路径下

 

开始上传

表单:

php程序:

文件上传后,文件的所有信息会保存到$_FILES这个超全局变量数组中,这个数组是二维的

[‘变量名’][‘属性’]:

取值:

[‘变量’][‘name’] :原名

[‘变量’][‘type’]:MIME类型

[‘变量’][‘tmp_name’]:临时文件所在路径

[‘变量’][‘error’]:错误代码,如果没有错误,0

[‘变量’][‘size’] :上传文件的大小,单位:字节

 

上传文件函数

bool copy ( string filename, string dest)

复制文件

string filename:原文件

string dest:目标文件

bool move_uploaded_file (string filename, string dest)

剪切文件(移动上传文件)

string filename :原文件

string dest :目标文件

通过上题,可以看出

copy函数可以将原文件多次复制到我们的程序中

move_uploaded_file是将文件直接移走,所以程序运行下一行代码是不能正确执行的。

 

欢迎分享本文,转载请保留出处!—重蔚自留地 站长邮箱:951076433@qq.com