primal/uploaded

此软件包已被废弃且不再维护。未建议替代软件包。

用于 $_FILES 超全局的稳定性包装类

dev-master / 1.0.x-dev 2012-11-13 01:02 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:21:26 UTC


README

#Primal.Uploaded

由 Jarvis Badgley 创建并版权所有于 2012 年,chiper at chipersoft dot com。

Primal.Uploaded 是 PHP $_FILES 超全局的包装类,旨在使具有嵌套数组字段的表单上传(即名为 name[subname][] 语法的文件输入表单元素)更容易处理。它将 PHP 生成的数组汤转换为干净的迭代文件对象集合,可以像正常的 $_POST 内容一样访问。

请参阅包含的 example.php 文件以了解用法。

##文件对象

这是 $_FILES 包装类。它是一个单例实现,只能通过调用 Primal\Uploaded\Files::GetInstance() 来实例化。返回的结果将是一个文件的可迭代集合。

可以通过数组结构(例如:uploads[] 变为 $files['uploads'][0])或作为一个整体的迭代集合(例如:foreach ($files as $file) {})访问单个文件字段;

该集合将仅包含收到文件数据的输入记录(空字段将被忽略),并包括不完整或过大的上传。在处理文件之前测试文件的 valid 属性非常重要。

如果对象遇到致命的上传问题,例如不可写的上传目录(UPLOAD_ERR_CANT_WRITE),它将抛出 UploadException

##文件对象

包装器返回的文件对象包含以下属性

  • field:文件上传所使用的表单元素名称
  • index:如果名称处于数组语法中,则 index 将包含此文件的特定数组索引
  • valid:布尔值,标识文件是否正确上传
  • path:字符串,文件的当前临时位置
  • basename:原始文件名
  • filename:原始文件名,不包括扩展名。
  • extension:原始文件名的扩展名部分
  • error:整数,标识文件的状态。注意,这与 PHP 文件上传常量不匹配。
  • type:文件的 mime-type,根据文件内容或扩展名自动确定。
  • size:整数,文件的总大小(以字节为单位)。

提供了以下函数

  • moveTo($path):将上传的文件移动到新的目标位置。
  • open($mode):打开文件进行读取和/或写入,并返回一个 SplFileObject。
  • getRawFileRecord():返回此上传的原始 $_FILES 数组

##许可证

Primal.Uploaded 在 MIT 许可证下发布。无需归属。有关详细信息,请参阅附带的 LICENSE 文件。