jensostertag / uploadhelper
一个用于处理上传文件的 PHP 库
1.0.0
2023-07-14 05:08 UTC
Requires
- php: >=8.1.0
This package is not auto-updated.
Last update: 2024-09-23 17:32:30 UTC
README
这是一个 PHP 辅助库,用于帮助处理上传文件。
PHP 将上传文件存储在 $_FILES
数组中。然而,这个数组并不容易用于多个文件的上传。这个库提供了一种简单的方式来检查是否允许文件上传,并以更方便的方式获取文件。
安装
要安装此库,请使用 composer 将其包含到项目中
{ "require": { "jensostertag/uploadhelper": "1.0.0" } }
使用方法
上传单个文件
以下示例展示了如何允许上传单个文件。
假设你有一个名为 fileInputName
的文件输入表单
<form method="post" enctype="multipart/form-data"> <input type="file" name="fileInputName" id="file"> <input type="submit" value="Upload"> </form>
在表单提交时调用的 PHP 脚本中,使用 UploadHelper
类来检查是否允许文件上传以及获取上传的文件
$uploadHelper = new UploadHelper(); // File Upload Options $uploadHelper->setInputName("fileInputName") // Set the Name of the File Input ->setMultiple(false) // Only allow a single File ->setAllowedMimeTypes(["image/jpeg", "image/png"]) // Only allow JPEG and PNG Files ->setMaxSize(2) // Only allow Files up to 2 MiB ->handleUploadedFiles(); // Check if there were Errors during the Upload if(!($uploadHelper->successful())) { $errors = $uploadHelper->getErrors(); return; } // Get the uploaded File $uploadedFile = $uploadHelper->getUploadedFiles();
如果文件上传成功,则 $uploadedFile
将是一个具有以下结构的数组
[ [0] => [ "name" => "file.jpeg", "type" => "image/jpeg", "tmp_name" => "/tmp/php/php1h4j1o", "error" => 0, "size" => 1024 ] ]
上传多个文件
以下示例展示了如何允许上传多个文件。
假设你有一个名为 fileInputName
的文件输入表单,设置了 multiple
属性
<form method="post" enctype="multipart/form-data"> <input type="file" name="fileInputName" id="file" multiple> <input type="submit" value="Upload"> </form>
在表单提交时调用的 PHP 脚本中,使用 UploadHelper
类来检查是否允许文件上传以及获取上传的文件
$uploadHelper = new UploadHelper(); // File Upload Options $uploadHelper->setInputName("fileInputName") // Set the Name of the File Input ->setMultiple(true) // Allow multiple Files ->setAllowedMimeTypes(["image/jpeg", "image/png"]) // Only allow JPEG and PNG Files ->setMaxSize(2) // Only allow Files up to 2 MiB ->handleUploadedFiles(); // Check if there were Errors during the Upload if(!($uploadHelper->successful())) { $errors = $uploadHelper->getErrors(); return; } // Get the uploaded Files $uploadedFiles = $uploadHelper->getUploadedFiles();
如果文件上传成功,则 $uploadedFiles
将是一个具有以下结构的数组
[ [0] => [ "name" => "file1.jpeg", "type" => "image/jpeg", "tmp_name" => "/tmp/php/php1h4j1o", "error" => 0, "size" => 1024 ], [1] => [ "name" => "file2.jpeg", "type" => "image/jpeg", "tmp_name" => "/tmp/php/php1h4j1o", "error" => 0, "size" => 1024 ], // ... ]
文件上传选项
可以为文件上传设置以下选项
上传错误
你可以使用 successful()
方法检查文件上传过程中是否有错误。如果没有错误,它返回 true
;如果有至少一个错误,它返回 false
。
在文件上传过程中发生的错误可以通过 getErrors()
方法检索。它以 UploadError
类的枚举值返回它们。以下错误类型: