zoukankan      html  css  js  c++  java
  • 文件上传相关问题

    文件上传相关问题

    1.文件扩展名的简单获取

    string strrchr(string $haystack,mixed $needle)

    ​ 在参数haystack中查找参数needle,找到后,返回之后的字符串。

    这里写图片描述

    2.避免文件名重复

    ​ 对于同一网站的保存路径,不同用户上传的文件可能重名,为避免同名文件相互覆盖,需给文件重命名,使用当前日期时间及随机数,拼接文件扩展名来生成。

    这里写图片描述

    3.大小限定

    ​ 临时文件单位为字节,比较时需转换单位。

    这里写图片描述

    4.文件类型限定(MIME类型)

    ​ 网站支持的文件类型一般是固定的,需要判断上传文件的类型。由于文件本身的扩展名可以修改,修改文件的扩展名后,上传之后类型也发送改变。不能通过上传之后的扩展名来判断文件类型,需判断MIME类型。MIME是描述消息内容类型的因特网标准。

    1. 在php.ini开启php_fileinfo.dll扩展,保存重启Apache

      这里写图片描述

    2. 打开fileinfo资源

      finfo_open(FILEINFO_MIME_TYPE);

      该函数执行成功返回资源型,失败返回false

      这里写图片描述

    3. 读取上传文件的MIME类型,返回MIME类型字符串

      finfo_file(文件资源,临时文件名);

      这里写图片描述

    4. 判断上传文件MIME类型是否是网站支持的

      bool in_array(mixed $needle,array $haystack)

      使用in_array函数判断,下图中参数mime为上传文件的MIME类型,参数mimeArr为网站支持的MIME类型

      这里写图片描述

  • 相关阅读:
    非vue-cli的花括号闪现问题
    vue中实现图片全屏缩放预览,支持移动端
    vue 图片预览插件
    angular.uppercase()
    angular.toJson()
    angular.module()
    对AngularJs的简单了解
    jQuery的属性、遍历和HTML操作
    JQuery函数
    JQuery的选择器
  • 原文地址:https://www.cnblogs.com/Jianxq12/p/7639410.html
Copyright © 2011-2022 走看看