alexangehrn/upload_angehrn

该软件包最新版本(dev-master)没有可用的许可证信息。

简单上传库

dev-master 2017-05-02 09:31 UTC

This package is not auto-updated.

Last update: 2024-09-27 23:27:11 UTC


README

创建一个可模块化和可重用的面向对象的文件上传功能。

生产地址

v1

v2

功能概述

  • 多文件上传
  • 格式验证
  • 重命名文件和选择目标文件夹
  • 对于图像,可以调整大小 -> 允许选择裁剪(宽度、高度、裁剪位置)

Upload 类属性

  • fileName - 对应于文件名
  • fileTmpName - 对应于临时文件名
  • fileSize - 对应于文件大小
  • fileMaxSize - 对应于文件最大大小
  • fileCode - 对应于新文件名的代码
  • fileType - 对应于文件类型
  • fileFolder - 对应于目标文件夹名
  • rectHeight - 对应于所需矩形的宽度
  • rectWidth - 对应于所需矩形的高度
  • squareDim - 对应于所需正方形的边长
  • fileShape - 对应于最终图像的形状
  • fileCropPosition - 对应于裁剪位置
  • fileExtension - 对应于文件扩展名
  • fileAllExtension - 对应于所选扩展名的数组
  • fileAdress - 对应于最终文件地址
  • fileCustomName - 对应于最终文件的定制名称(可选)
  • log - 对应于上传跟踪

所有这些属性都是私有的,除了 log

构造函数的参数

此方法将允许

  • 初始化所有数据
  • 管理扩展名
  • 管理文件大小
  • 重命名和移动文件
  • 检查是否为图像

如果是图像

  • 调整图像大小或裁剪

getLogs 方法

为了得到上传过程的反馈,请编写以下代码:$logs = $upload->getLogs(); echo $logs;

此方法将允许显示上传执行的不同步骤

函数使用

您可以使用以下方式使用该函数

  include('Upload.php');

    $upload = new Upload($file['name'],$file['tmp_name'],$file['size'],$size,$file['type'],$dossier,$rectangleHeight,$rectangleWidth,$carreDim,$form,$position,$ext,$name);

带有以下参数

  • $file['name'] 是上传文件的名称 ($_FILES["name"])
  • $file['tmp_name'] 是上传文件的临时名称 ($_FILES["tmp_name"])
  • $file['size'] 是上传文件的大小 ($_FILES["tmp_name"])
  • $size 是上传文件的最大大小
  • $file['type'] 是上传文件的类型 ($_FILES["tmp_name"])
  • $dossier 是目标文件夹的名称
  • $rectangleHeight 是调整大小后的矩形高度(如果图像为竖直格式)
  • $rectangleWidth 是调整大小后的矩形宽度(如果图像为横幅格式)
  • $carreDim 是调整大小后的正方形边长
  • $form 是图像最终想要的形式(正方形或矩形)
  • $position 请在此处指定以下内容
    • 值:“左” 如果您的原始图像为横幅格式并且您希望最终图像从图像的左侧裁剪
    • 值:"中心",如果您的原始图像为横幅格式且您希望最终图像从原始图像的中心水平裁剪。
    • 值:"右侧",如果您的原始图像为横幅格式且您希望最终图像从原始图像的最右侧裁剪。
    • 值:"顶部",如果您的原始图像为竖幅格式且您希望最终图像从原始图像的最顶部裁剪。
    • 值:"中心2",如果您的原始图像为竖幅格式且您希望最终图像从原始图像的最中心部分裁剪。
    • 值:"底部",如果您的原始图像为竖幅格式且您希望最终图像从原始图像的最底部裁剪。
  • $ext 代表图像最终想要的形状(方形或矩形)。
  • $name 代表最终文件的名称(可选)。

版本2的改进

  • 创建了log参数和getLogs方法,以便获取上传过程中的各个步骤并显示它们。
  • 将上传函数本身和测试页面分别放置在src/和example/目录中。
  • 添加了异常处理,以防某些值未填写。
  • 代码缩进和整洁性得到改善。
  • 在测试页面上上传后,创建了一个按钮,可以直接访问上传文件夹。
  • 更新了readme文件。