niletphp/file-system
Composer 安装命令:
composer require niletphp/file-system
包简介
The NiletPHP file system component.
README 文档
README
Object oriented design approach, that provides a convenient way for working with your file system.
Requirements
PHP >= 7.0
Install
Composer
{ "require": { "niletphp/file-system": ">=v1.0" } }
###Handling errors
By default the library registers custom error handler,
which throws \Error when PHP emits E_WARNING or E_ERROR.
The \Error is then being catched and Nilet\Components\FileSystem\FileSystemException is thrown
###Examples
File system
use Nilet\Components\FileSystem\FileSystem; use Nilet\Components\FileSystem\FileSystem\Directory; use Nilet\Components\FileSystem\FileSystem\File; use Nilet\Components\FileSystem\FileSystem\FileSystemException; $fs = new FileSystem(); // with custom error handler $fs = new FileSystem(false); // without custom error handler // If you want to restore to previous custom event handler $fs->restoreErrorHandler(); // Create directory example with try-catch try { $fs->createDirectory(new Directory("foo/bar"), "nested/dir", 0750); } catch(FileSystemException $exc) { // handle exception } // Delete all items of a given directory $fs->cleanDirectory(new Directory("foo/bar")); // Delete directory $fs->deleteDirectory(new Directory("foo")); // Create file $file = $fs->createFile(new Directory("bar"), "foo.txt", 0640, "Foo bar"); // Delete file $fs->deleteFile(new File("bar/foo.txt")); /** * Make copy of a given file. * If the file already exists in the destination folder, it will be overwritten. */ $fs->copyFile(new File("foo/bar.txt"), new Directory("baz")); /** * Move uploaded file. * If the file already exists in the destination folder, it will be overwritten. */ $fs->moveUploadedFile(new Directory("bar"), "tmp/tmpName.txt", "qux.txt")
Working with files
$file = new File("foo/bar.txt"); // Retrieve file name $file->getName(); // Retrieve file name (with file extension) $file->getBasename(); // Retrieve file extension e.g. txt, csv, php etc. $file->getExtension(); //Retrieve file parent directory e.g. given a "foo/bar/baz.txt" will return "foo/bar" $file->getPath(); // Retrieve file real path e.g. /foo/bar/public_html/baz.php $file->getRealPath(); // Retrieve file size in bytes $file->getSize(); // Retrieve file mime type e.g. text/plain , text/html, image/gif etc. $file->getMimeType(); // Retrieve files last modified time in "Y-m-d H:i:s" format $file->getLastModifiedTime(); // Retrieve file contents as string $file->getContents(); // Truncates a file to a given length $file->truncate(10); // Delete file contents $file->deleteContents(); // Determine if file is readable $file->isReadable(); // Determine if file is writable $file->isWritable(); // Appends data $file->append("foobarbaz"); // Create file File::create(new Directory("foo"), "bar.txt", 0640, "foobarbaz");
Working with directories
$dir = new Directory("foo"); // Retrieves dir's real path. $dir->path(); // Retrieves directory items, array of File and Directory instances $dir->getItems(); // Create directory Directory::create(Directory("foo"), "baz/qux", 0750);
niletphp/file-system 适用场景与选型建议
niletphp/file-system 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 169 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 05 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 niletphp/file-system 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 niletphp/file-system 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 169
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-05-12