tommy-dai/screenshot
Composer 安装命令:
composer require tommy-dai/screenshot
包简介
网页截图服务,用于生成小程序海报。
README 文档
README
网页截图服务,用于生成小程序海报。(mac系统暂未适配)
安装
composer require tommy-dai/screenshot
使用
快速上手
$screenshot = new \Screenshot\ScreenShot(); $screenshot->shot('http://image.baidu.com');
注意:第一次访问图片有可能不出来,后面就不会出现了
不出意外就可以获得百度图片的网页截图
可选配置项
//截图服务端口号 port = 8181; //超时时间(毫秒) timeOut = 5000; //是否解析页面中的JavaScript代码 javascriptEnabled = false; //图片宽度(单位像素) width = 750; //图片高度(单位像素) height = 1334; //截图日志文件存放路径(绝对路径) logPath = '';
修改默认配置项
//获取默认配置 $config = new \Screenshot\Config(); //修改默认端口号(修改配置) $config->setPort(8080); //修改默认端图片宽度 $config->setWidth(600); //修改默认端图片高度 $config->setHeight(800); //开启JavaScript支持(开启后将可以解析页面中js代码,对于js生成的页面可以截取) $config->setJavascriptEnabled(true); //用配置文件初始化截图服务(不传$config会走默认配置) $screenshot = new \Screenshot\ScreenShot($config); //生成截图服务并截取百度图片 $screenshot->shot('http://image.baidu.com');
注意:修改配置项不会立即生效,关闭服务重新开启后生效。
关闭步骤
- 改为下面代码然后通过浏览器访问一次,服务就会关闭。重新访问上面的代码就生效了。
$screenshot = new \Screenshot\ScreenShot(); //关闭截图服务 $screenshot->stop();
获取截图base64字符串
$screenshot = new \Screenshot\ScreenShot(); //返回base64的图片,可用于本地保存 $screenshot->getShot();
特殊用法
$screenshot = new \Screenshot\ScreenShot(); //开启截图服务 $screenshot->start();
开启截图服务 $screenshot->start() 之后能干什么
- 可以通过访问 http://127.0.0.1:8181/?a=http://image.baidu.com 获取截图的 base64 字符串
- 可以把截图服务单独部署,通过访问 http://ip地址:8181/?a=http://image.baidu.com 获取截图的 base64 字符串
- 可以部署多台截图服务用nginx做负载均衡
更多疑问请提 issues
tommy-dai/screenshot 适用场景与选型建议
tommy-dai/screenshot 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 142 次下载、GitHub Stars 达 9, 最近一次更新时间为 2020 年 03 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「phantomjs」 「screen」 「print-screen」 「截图」 「小程序海报」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tommy-dai/screenshot 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tommy-dai/screenshot 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tommy-dai/screenshot 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP Class to interact with PhantomJs and capture screenshot of a webpage
HTML to PDF Symfony bundle. Works with Puppeteer, PhantomJS, and more.
PhantomJS client for SERPS
Use Laravel Dusk without the full Laravel framework
A set of Monolog extensions.
Bundle adding a set of Monolog extensions.
统计信息
- 总下载量: 142
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-03-21