PHP文件上传入门案例

为了方便管理这些上传的文件,我们通常会将上传的文件保存到uploads目录下面

PHP文件上传入门案例

防止上传文件过大

思路:首先给定一个文件的最大限制,然后再拿上传的文件的大小 和 最大的限制进行比较,文件大小单位是字节,字节之间的转换:1024

1024字节 = 1KB

1024KB = 1MB

1024MB = 1GB

PHP文件上传入门案例

修改一下表单的提交地址:

PHP文件上传入门案例

确实阻止了文件的上传,但是还有一个小问题:

虽然上传时,拦截了,但是该文件还是在临时的文件夹中走了一圈,如何实现,如果文件过大的话,连临时目录都不让其进去

需要修改php的配置文件了,将其最大的限制修改为2MB,这样,让我们上传的文件大小超过2MB,就无法进入到临时目录

PHP文件上传入门案例

测试一把:

PHP文件上传入门案例

错误指的是提交的表单内容,超过了表单提交的最大限制,所以为了演示效果,我们临时将表单提交的最大限制修改为80MB

PHP文件上传入门案例

防止文件被覆盖

如果多个用户,同时上传文件,如果文件的名字固定死的话,所有用户上传的文件名字都会一样,将来就很麻烦了

思路:上传成功之后,给文件命名时,取一个唯一的、随机数

PHP文件上传入门案例

PHP文件上传入门案例

分目录存放上传的文件

为什么要分目录存储?

如果上传的文件不加任何修改,直接保存到uploads目录的话,uploads目录就会出现很多文件,不便于查找

PHP文件上传入门案例

通常我们会按照日期的格式分目录保存

PHP文件上传入门案例

PHP文件上传入门案例

控制上传的文件类型

假设有这样一个需求:上传用户的头像

这个时候我们只能上传图片(jpg、png、gif),所以我们就应该上传的时候做一个判断

思路:首先,定义一个数组保存支持的上传的文件的类型,然后再拿上传的文件的实际类型和支持的类型进行比较

PHP文件上传入门案例

PHP文件上传入门案例

但是,上面的代码存在一个小问题:

如果手动的把一个excel文件的后缀修改为.jpg了。’

上传的时候,就会把php蒙混过去,如果用户上传的是脚本(js等),就会很危险

所以我们还要做一个更加严格的过滤

需要借助PHP提供的类(php 内置的一个类)finfo,在手册的位置:

PHP文件上传入门案例 PHP文件上传入门案例

 

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/10071.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2018年9月15日 10:52
下一篇 2018年9月18日 22:09

相关推荐

  • PHP直播功能开发的技术和工具简介。

    随着互联网和移动互联网的快速发展,直播这一应用越来越受到人们的关注和青睐。而在直播应用中,PHP是一种常用的编程语言,因此,PHP直播功能的开发技术和工具成为了开发者们探索的焦点。本文将介绍PHP直播功能开...

    2023年5月23日
    010
  • php如何使用PHP的PDO_PGSQL扩展。

    PHP作为一种流行的编程语言,在Web开发领域中有着广泛的应用。其中,PHP的PDO_PGSQL扩展是一种常用的PHP扩展,它提供了与PostgreSQL数据库的交互接口,可以实现PHP与PostgreSQL之间的数据传输和交互。本文将详细...

    2023年6月3日
    05
  • PHP8.0中的电子邮件服务库:Mailgun

    近年来,PHP成为了Web开发世界中的一大主流。无论是开发Web应用程序,构建API还是建立电子商务网站,PHP都是开发者们的首选语言。然而,即使是PHP,要为它构建一个完整的Web应用程序也需要很多额外的工作。其中之...

    2023年5月18日
    03
  • php的默认构造函数

    如果在类中,没有定义构造函数,那么会有一个默认的构造函数,形式如下, 举例说明 如何将一个对象的属性输出并显示 说明: 通过上面的案例,我们讲解了两个重要的点 如果显示成员属性的值 深刻理解了$this 的指向...

    2018年4月11日
    0463
  • 如何使用PHP实现更快的直播功能。

    随着互联网的发展,直播已经成为了越来越受欢迎的网络应用。直播平台在吸引用户的同时,也面临着技术难题,如何提升用户体验。PHP作为一种常用的服务器端脚本语言,在直播应用中也扮演着重要的角色。本文将介绍如...

    2023年5月30日
    06
  • 分享php 怎么引入别的文件,PHP中能否引入外部文件。

    在PHP中,我们可以使用`include`或`require`语句来引入外部文件,这两个语句的主要区别在于,如果被引入的文件不存在或者出现错误,`include`会产生一个警告,但脚本会继续执行;而`require`则会停止脚本的执行并...

    2024年6月30日
    00
  • 如何使用PHP连接多个Redis实例?。

    随着互联网的不断发展,数据量不断增大,存储和读取的速度也变得至关重要。Redis作为一个非关系型的内存数据库,因其快速、可扩展和灵活性而受到广泛关注和使用。在一些高并发的场景下,或者对于某些强一致性要求...

    2023年5月21日
    04
  • 如何使用PHP打造高性能的直播功能。

    随着网络技术和移动设备的不断发展,直播已成为一种流行的方式来分享和传播信息。而PHP被广泛应用于Web编程,也能用来实现高性能的直播功能。本文将介绍如何使用PHP打造高性能的直播功能。选择合适的PHP框架选择...

    2023年5月23日
    01

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息