咨询,就免费赠送域名与服务器,咨询热线:18210983909当前位置: 主页 > 建站知识 > 网站建设开发 > PHP语言开发学习教程 >
内容合作
联系我们
西安SEO网站优化建设公司咨询 建站咨询 西安SEO网站关键词排名优化公司 优化咨询
电话咨询:18210983909
E-mail:15210415824@qq.com
地址: 北京市海淀区尚东数字山谷A区1号楼

php开发教学:文件上传的步骤

作者/整理:SEO网站优化 点击量:次 来源:互联网 日期: 2017-04-01

因思维新建站官网:www.inspinovation.cn

文|李掌柜

php开发教学:文件上传的步骤

为了更好的学习PHP,我们将极为复杂的PHP的文件上传归纳总结成为了6个步骤。

在实际使用过程中,你按照这6个步骤就能够很好的完成PHP的文件上传:

一、判断是否有错误码

系统返回的错误码详解:

错误码 说明

0 无误,可以继续进行文件上传的后续操作。

1 超出上传文件的最大限制,upload_max_filesize = 2M php.ini中设置,一般默认为2M。可根据项目中的实际需要来修改

2 超出了指定的文件大小,根据项目的业务需求指定上传文件的大小限制

3 只有部分文件被上传

4 文件没有被上传

6 找不到临时文件夹,可能目录不存在或没权限

7 文件写入失败,可能磁盘满了或没有权限

注:错误码中没有5。

php开发教学:文件上传的步骤

二、自定义判断是否超出文件大小范围

在开发上传功能时。我们作为开发人员,除了php.ini中规定的上传的最大值外。

我们通常还会设定一个值,是业务规定的上传大小限制。

例如:

新浪微博或者QQ空间只准单张头像图片2M。而在上传图册的时候又可以超过2M来上传。

所以说,它的系统是支持更大文件上传的。

此处的判断文件大小,我们用于限制实际业务中我们想要规定的上传的文件大小。

三、判断后缀名和mime类型是否符合

在网络世界里面也有坏人。他们会把图片插入病毒,在附件中上传病毒,他们会在网页中插入病毒或者黄色图片。

我们需要对于上传的文件后缀和mime类型都要进行判断才可以。

MIME(Multipurpose Internet Mail Extensions)是多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

在判断后缀和MIME类型的时候,我们会用到PHP的一个函数in_array(),该函数传入两个参数。

第一个参数是要判断的值;

第二个参数是范围数组。

我们用这个函数来判断文件的后缀名和mime类型是否在允许的范围内。

php开发教学:文件上传的步骤

四、生成文件名

我们的文件上传成功了,不会让它保存原名。

因为,有些人在原名中有敏感关键词会违反我国的相关法律和法规。

我们可以采用date()、mt_rand()或者unique()生成随机的文件名。

php开发教学:文件上传的步骤

五、判断是否是上传文件

文件上传成功时,系统会将上传的临时文件上传到系统的临时目录中。产生一个临时文件。

同时会产生临时文件名。我们需要做的事情是将临时文件移动到系统的指定目录中。

而移动前不能瞎移动,或者移动错了都是不科学的。移动前我们需要使用相关函数判断上传的文件是不是临时文件。

is_uploaded_file()传入一个参数($_FILES中的缓存文件名),判断传入的名称是不是上传文件。

php开发教学:文件上传的步骤

六、移动临时文件到指定位置

临时文件是真实的临时文件,我们需要将其移动到我们的网站目录下面了。

让我们网站目录的数据,其他人可以访问到。

我们使用:move_uploaded_file()。

这个函数是将上传文件移动到指定位置,并命名。

传入两个参数:

第一个参数是指定移动的上传文件;

第二个参数是指定的文件夹和名称拼接的字符串。

php开发教学:文件上传的步骤

因思维新专注于高端网站订制开发,不仅仅为您建设网站,还为您做网络营销。

Php框架之slim3.0应用小实例 PHP知识 由PHP木马程序带来的实战入侵
多功能php绿色集成环境,700个PHP版 请写一段 PHP 代码,确保多个进程同 使用php完成常见的“文件上传”功
php文件输入输出学习 PHP文件及数据编码转换解决乱码问 PHP学习之ThinkPHP5.0框架搭建
PHP里文件的查找方式及写法 PDF文件(图片格式存储文字)直转 连接网络或PHP文件失败?2017新版如
路径正确下,Eclipse读取txt文件仍失 phpcms前台显示“栏目禁止投稿”的 浅谈:在PHP中该怎样防止SQL注入?
smarty3从入门到精通详解 php数据类型详解 PHP常用函数小全
PHP中iconv函数解决utf-8和gb2312编码转 方法总结:PHP页面跳转到另一个页 php中json_decode()和json_encode()
php中sql注入漏洞例子以及修复sql注 php在程序中将网页生成word文档并提 intval()和(int)转换使用与区别
PHPMyadmin 配置文件详解 PHP正则表达式语法汇总 PHP正则表达式常用例子
PHP二维数组排序的具体方法详解 PHP读取Excel文件类的具体应用 PHP如何判断文件、目录是否存在?
php生成随机验证码 PHP如何在服务器下实现多session并发 什么是 MVC 模式?
PHP批量将数据插入MySQL数据库 PHP连接MYSQL详解 PHP删除数组中的空值
十大PHP最佳安全实践 PHP本身的安全配置详解 PHP安全配置详解
漫谈PHP的安全性 PHP安全之Register Globals PHP安全之错误报告
PHP实现的Mysql读写分离 php json_encode 中文 utf-8 乱码 php无刷新上传文件代码