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与jquery实时显示网站在线人数实例详解

    代码如下: 我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据。本文将结合实例给大家介绍使用jQuery和PHP来实现动态数字展示效果。 本例假设要…

    2017年9月30日
    0295
  • php的默认构造函数

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

    2018年4月11日
    0455
  • PHP8.0中的时间戳处理库:Chronos

    随着现代互联网应用的日益复杂和对实时性的要求越来越高,时间戳处理成为了一个非常重要的问题。在PHP语言中,时间戳处理一直以来都是一个比较棘手的问题,因为PHP原始的时间函数库存在众多不足和限制。但是,随着P…

    2023年5月19日
    04
  • PHP入门指南:分布式系统。

    PHP入门指南:分布式系统 随着互联网技术的飞速发展,分布式系统已经成为了大规模应用的必备选择。而PHP语言能够在Web开发中发挥出色的作用,为分布式系统的构建提供了可靠的基础。 本文将带领读者了解PHP语言在分…

    2023年5月22日
    01
  • 如何在PHP中进行增强学习和智能问答。

    随着人工智能技术的发展,智能问答和增强学习已经在各种领域得到了广泛应用,其中包括对话系统、自然语言处理、语音识别、图像识别等等。这些技术可以帮助我们更高效地处理大量数据,减少人工操作和人力成本。在PHP…

    2023年5月23日
    02
  • 用PHP开发微信群发工具

    随着微信的普及,越来越多的企业开始将其作为营销工具。而微信群发功能,则是企业进行微信营销的重要手段之一。但是,如果只依靠手动发送,对于营销人员来说是一件极为费时费力的工作。所以,开发一款微信群发工具…

    2023年5月18日
    02
  • 循环结构---FOR循环

    语法: For(变量初始化;条件表达式;变量的变化){ 循环体; } 案例:1-99 注意:变量初始化可以是多个,用逗号隔开。 注意:条件判断可以是多个,每个用逗号隔开。 图解:

    2018年2月24日 PHP自学教程
    0434
  • PHP网站布局的方式

    代码实现:准备模板 创建目录   创建配置文件 实现功能--封装函数

    2018年4月7日
    0204

联系我们

QQ:951076433

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