modevsome / mofilesmanager
一个用于更轻松处理文件和文件夹的小型库。
Requires
- php: >=7.0.0
This package is not auto-updated.
Last update: 2024-09-29 10:03:50 UTC
README
moFilesManager 是一个用于在 PHP 中更轻松处理文件和文件夹的小型库。
该库提供了两个对象,一个用于处理文件,一个用于处理文件夹。
所需配置
php: >=7.0.0
Fileinfo PHP 扩展
如何使用
安装
将 moFilesManager 添加到您的应用程序的最好方法是使用 Composer,在您的开发环境中运行它,以下是 Packagist 页面的 URL: https://packagist.org.cn/packages/modevsome/mofilesmanager
您还可以下载最新版本。
测试
一旦将 moFilesManager 添加到您的应用程序中,请不要犹豫,运行一些测试来检查库的基本功能。打开您的命令行工具并执行以下命令
cd [YOUR APP PATH]\vendor\modevsome\mofilesmanager\tests
php run.php
您可以通过添加此参数来请求测试的日志文件:-log
基本用法
// Handle a folder $folder_object = new moFilesManager\Folder( $folder_path ); // Handle a file $file_object = new moFilesManager\File( $file_path );
您可以通过下面的方法摘要来找到所有功能。
重要的建议 
- 在本地开发环境中编写和测试您的脚本
- 避免使用 moFilesManager 处理非常复杂的文件树,具有大量文件和嵌套子文件夹,它防止由于过多递归、"超时"或"内存不足"执行而导致的崩溃(例如,如果您要处理大量文件,请分发您的任务)
- 在将应用程序推送到生产环境之前,不要忘记删除"tests"文件夹
moFilesManager\Folder 方法摘要
创建一个 Folder 实例
$folder_object = new moFilesManager\Folder( $folder_path );
此方法返回 Folder 类的实例。路径在此步骤是可选的,以后可以更改。
更改路径
$folder_object->setPath( $new_folder_path );
此方法更改 Folder 对象的路径值。此方法是流畅的,它返回当前对象。
创建文件夹
$folder_object->create();
此方法在磁盘上创建文件夹。如果成功,则此方法返回 TRUE,否则返回 FALSE。
复制文件夹
$folder_object->copy(string $copy_path, $replace);
此方法递归地复制当前文件夹到由所需 $copy_path 参数定义的位置。文件夹的所有内容都将被复制,包括文件和子文件夹。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则如果已存在,将替换文件夹;如果等于 FALSE,则不会替换现有文件夹。默认情况下,参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
重命名文件夹
$folder_object->rename(string $new_name, $replace);
此方法更改当前文件夹的名称。提供的 $new_name 应该不是一个路径,而只是一个文件夹名称。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则如果已存在,将替换文件夹;如果等于 FALSE,则不会替换现有文件夹。默认情况下,参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
移动文件夹
$folder_object->move(string $new_path, $replace);
此方法将在指定的 $copy_path 参数定义的位置复制当前文件夹。文件夹中的所有内容都将移动,包括文件和子文件夹。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则如果已存在,将替换文件夹;如果等于 FALSE,则不会替换现有文件夹。默认情况下,参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
清空文件夹
$folder_object->drain();
此方法将递归删除文件夹中包含的所有项目。
回滚函数最小化了在过程中可能发生的错误的影响。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
删除文件夹
$folder_object->delete();
此方法将删除文件夹,即使文件夹中包含文件或子文件夹。
回滚函数最小化了在过程中可能发生的错误的影响。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
将文件夹制作成 Zip 归档
$folder_object->zip(string $archive_path = '', $replace, $options);
所有项目都将递归添加到归档中。
@param string $archive_name : 将生成的 zip 文件的路径。默认:文件夹的父路径
@param boolean $replace : 如果文件已存在,则设置为 TRUE 以替换当前文件。默认:TRUE
@param array $options : 包含一些选项的数组:'compression_method', 'compression_level'
如果成功,则此方法返回 TRUE,否则返回 FALSE。
将 zip 归档提取到当前文件夹
$folder_object->unzip(string $archive_path = '', $replace);
必须通过参数 $archive_path 提供zip文件的路径。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则将替换已存在的文件夹,如果等于 FALSE,则不替换现有文件夹。默认参数等于 TRUE。
回滚函数最小化了在过程中可能发生的错误的影响。此方法在成功时返回 TRUE,否则返回 FALSE。
重要:提取的归档需要位于目标文件夹外部。
moFilesManager\File 方法总结
创建 File 实例
$file_object = new moFilesManager\File( $file_path );
此方法返回 File 类的实例。路径在此步骤是可选的,可以在以后更改。
更改路径
$file_object->setPath( $new_file_path );
此方法更改 File 对象的路径值。此方法流式传输,它返回当前对象。
获取当前文件内容
$file_object->getContent();
以字符串的形式返回文件内容。
设置当前文件内容
$file_object->setContent(string $content);
此方法更改文件的内容。
只要不调用 write() 方法,文件内容就不会被保存。
此方法是流式的,它返回当前对象。
向当前文件添加内容
$file_object->addContent(string $content, bool $prepend = FALSE);
此方法将提供的内容追加或前置到当前内容字符串中。只要不调用 write() 方法,文件内容就不会被保存。
此方法是流式的,它返回当前对象。
在磁盘上创建或替换当前文件
$file_object->write(bool $replace);
此方法将当前文件保存到磁盘上。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则将替换已存在的文件,如果等于 FALSE,则不替换现有文件。默认参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
复制当前文件
$file_object->copy(string $copy_path, bool $replace);
此方法将在所需的 $copy_path 参数定义的位置复制当前文件。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则将替换已存在的文件,如果等于 FALSE,则不替换现有文件。默认参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
重命名当前文件
$file_object->rename(string $new_name, bool $replace);
此方法更改当前文件名,但它不会移动文件。提供的 $new_name 应该不是路径,而只是一个文件名。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则将替换已存在的文件,如果等于 FALSE,则不替换现有文件。默认参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
移动当前文件
$file_object->move(string $new_path, bool $replace);
此方法将当前文件移动到所需的 $new_path 参数定义的位置。
布尔参数 $replace 是可选的。如果参数等于 TRUE,则将替换已存在的文件,如果等于 FALSE,则不替换现有文件。默认参数等于 TRUE。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
删除当前文件
$file_object->delete();
此方法删除当前文件。此方法在成功时返回 TRUE,否则返回 FALSE。
上传文件
$file_object->upload($tmp_name, $replace, $allowed_types, $max_size);
此方法上传文件。
@param $tmp_name : 文件的 tmp_name(必需)。它可以在全局超全局 $_FILES 的关联行中找到。
@param $replace : 如果文件已存在,则设置为 TRUE 以替换当前文件。默认:TRUE
@param $allowed_types : 一个包含一个或多个将被接受文件类型的数组,如果此参数为空,则接受所有类型。
@param $max_size : 允许的最大文件大小(必须以字节为单位提供)。
如果成功,则此方法返回 TRUE,否则返回 FALSE。
获取文件流
$file_object->getStream($fopenMode, $forceFolderCreation);
不要忘记使用FCLOSE关闭流!
@param string $fopenMode
@param boolean $forceFolderCreation
@return mixed 成功时返回文件指针资源,失败时返回FALSE
@since 1.1.4
moFilesManager\moFilesManager 方法摘要
以下方法必须静态调用。
启用/禁用调试
默认情况下,调试是禁用的,如果您想使用跟踪日志,请将调试设置为TRUE。
moFilesManager\moFilesManager::setDebugState(bool $state);
返回空(void)
获取当前调试状态
moFilesManager\moFilesManager::getDebugState();
获取所有记录的跟踪
moFilesManager\moFilesManager::getLogs();
返回一个包含在几个过程中记录的所有跟踪的数组
获取最后记录的跟踪
moFilesManager\moFilesManager::getLastLog();
返回包含最后记录内容的字符串
通过删除非法目录分隔符来重建和确保给定路径
moFilesManager\moFilesManager::formatPath(string $path);
返回包含清理后的路径的字符串