lyhiving/quickio
Composer 安装命令:
composer require lyhiving/quickio
包简介
Quick and high performance IO read and write
README 文档
README
PHP 超低内存遍历目录文件和读取超大文件。
安装
使用 Composer
{
"require": {
"lyhiving/quickio": "1.0.*"
}
}
用法
引入命名空间
<?php // include __DIR__ . '/../autoload.php'; //引入composer的加载 use lyhiving\quickio\quickio;
遍历指定目录:
$glob = quickio::glob('./logs'); // $glob = quickio::glob('./logs',true); //如需读取文件夹 while ($glob->valid()) { // 当前文件 $filename = $glob->current(); echo $filename . PHP_EOL; // 指向下一个,不能少 $glob->next(); }
单行读取大文件:
$glob = quickio::read('./logs/jd.log'); while ($glob->valid()) { // 当前行文本 $line = $glob->current(); // 逐行处理数据 echo $line . PHP_EOL; // 指向下一个,不能少 $glob->next(); }
多行读取大文件:
$lines = quickio::reads('./logs/jd.log', 3, 1); var_dump($lines);
复制文件:
$ret = quickio::copy('./logs/jd.log','./logs/jd.log.new'); var_dump($ret);
递归删除文件夹:
$ret = quickio::rmdir('./logs/abc'); var_dump($ret);
文件类缓存操作:
echo "---set cache path---" . PHP_EOL; quickio::setCachePath('./cache/'); var_dump(quickio::getCachePath()); echo "---set cache data---" . PHP_EOL; quickio::set('p2', __FILE__); echo "---get cache data---" . PHP_EOL; $cache = quickio::get('p2'); var_dump($cache); echo "---delete cache data---" . PHP_EOL; quickio::del('p2');
浏览器缓存操作:
echo "---no cache output---" . PHP_EOL; quickio::noCache(); echo "---browser cache output---" . PHP_EOL; quickio::ieCache(600);
简单输出:
echo "---quick dump output---" . PHP_EOL; quickio::dump([__FILE__,__LINE__]); echo "---quick dump output end exit ---" . PHP_EOL; quickio::_dump([__FILE__,__LINE__]);
递归删除文件夹:
$ret = quickio::rmdir('./logs/abc'); var_dump($ret);
CORS 跨域:
quickio::CORS('*');
GET远程地址:
$data = quickio::url('get','https://httpbin.org/get',[],['file_get_contents'=>false]); var_dump($data);
POST远程地址:
$data = quickio::url('post','http://httpbin.org/post',['date'=>date('Y-m-d H:i:s')],['file_get_contents'=>true]); var_dump($data);
优先输出:
在执行耗时任务时需要提前返回。
这个时候http的进程已结束,客户端可以快速根据响应进行处理。但在服务端php代码会继续执行余下的内容
对命令行无效,仅针对web服务
quickio::output('RUN First! You can see this.'); echo "YOU CAN'T SEE ME! ". PHP_EOL; echo "BUT YOU CAN RUN OTHER THINGS ". PHP_EOL;
🌹Thanks TO: 小明
lyhiving/quickio 适用场景与选型建议
lyhiving/quickio 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 109 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 12 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「High Performance」 「quickio」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lyhiving/quickio 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lyhiving/quickio 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lyhiving/quickio 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
php iterator
g4 application profiler package
CSS/Javascript Minificator, Compressor and Concatenator for TYPO3 - highly configurable frontend asset optimization for CSS/JS merging, minification and compression with optional body parsing, async/defer loading, inline output, data-ignore exclusions, SRI integrity validation/calculation, external
WordPress mu-plugin to remove jQuery Migrate from the list of jQuery dependencies and to allow jQuery to enqueue before </body> instead of in the <head>.
Create link to static resources with cache-breaking segment based on md5 of the file
Production-ready Laravel Prometheus metrics package with built-in collectors for HTTP, database, cache, queue, events, errors, filesystem, and mail monitoring
统计信息
- 总下载量: 109
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-12-14