aportela / remote-thumbnail-cache-wrapper
生成并缓存远程图像的缩略图
2.0.4
2023-09-22 21:19 UTC
Requires
- php: >=8.1
- aportela/httprequest-wrapper: ^2.0
- psr/log: ^3.0
- sybio/image-workshop: ^2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.28
- phpunit/phpunit: ^10.3
README
生成并缓存远程和本地图像的缩略图
要求
- 最小PHP版本8.x
- 必须启用curl扩展
- 必须启用gd扩展
限制
目前只支持JPEG和PNG格式。
安装(composer)依赖项
composer require aportela/remote-thumbnail-cache-wrapper
代码示例(来自远程图片)
<?php
require "vendor/autoload.php";
$logger = new \Psr\Log\NullLogger("");
// cached thumbnails will be stored on this path
$localPath = "./data/";
$thumbnail = new \aportela\RemoteThumbnailCacheWrapper\JPEGThumbnail($logger, $localPath);
$thumbnail->setDimensions(250, 250);
$thumbnail->setQuality(\aportela\RemoteThumbnailCacheWrapper\JPEGThumbnail::DEFAULT_IMAGE_QUALITY);
if ($thumbnail->getFromRemoteURL("https://i.imgur.com/1bo3VaU.jpeg")) {
header("Content-Type: image/jpeg");
readfile($thumbnail->path);
} else {
header("HTTP/1.1 404 Not Found");
}
代码示例(来自本地文件系统图片)
<?php
require "vendor/autoload.php";
$logger = new \Psr\Log\NullLogger("");
// cached thumbnails will be stored on this path
$localPath = "./data/";
$thumbnail = new \aportela\RemoteThumbnailCacheWrapper\PNGThumbnail($logger, $localPath);
$thumbnail->setDimensions(250, 250);
$thumbnail->setQuality(\aportela\RemoteThumbnailCacheWrapper\PNGThumbnail::DEFAULT_IMAGE_QUALITY);
if ($thumbnail->getFromLocalFilesystem("/tmp/test.jpg")) {
header("Content-Type: image/png");
readfile($thumbnail->path);
} else {
header("HTTP/1.1 404 Not Found");
}