PHP code example of rvdlee / zf-image-optimiser
1. Go to this page and download the library: Download rvdlee/zf-image-optimiser library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
rvdlee / zf-image-optimiser example snippets
# ... config use statements
return [
'rvdlee' => [
'zf-image-optimiser' => [
# ... Other adapters
Pngquant2::class => [
'binary-options' => [
'--verbose',
'--force',
'--strip',
'--speed 1',
'--quality=75-100',
],
'validator-chain' => [
['name' => IsImage::class],
[
'name' => Extension::class,
'options' => [
'case' => false,
'extensions' => 'png',
],
],
[
'name' => MimeType::class,
'options' => [
'mimeType' => ['image/png'],
],
],
],
],
'enabled' => [
# ... Other adapters
Pngquant2::class,
],
],
],
];
# ... Other InputFilters
$this->add(
[
'type' => FileInput::class,
'name' => 'image',
' 'target' => <my_target_path>,
'useUploadName' => true,
'useUploadExtension' => true,
'overwrite' => false,
'randomize' => false,
],
],
['name' => ImageOptimiser::class],
],
'validators' => [
['name' => IsImage::class],
[
'name' => FilesSize::class,
'options' => [
'min' => '4kB',
'max' => '8MB',
],
],
[
'name' => Extension::class,
'options' => [
'case' => false,
'extensions' => 'jpg,png',
],
],
[
'name' => MimeType::class,
'options' => [
'mimeType' => [
'image/jpeg',
'image/png',
],
],
],
[
'name' => ImageSize::class,
'options' => [
'minWidth' => 128,
'minHeight' => 128,
'maxWidth' => 4096,
'maxHeight' => 4096,
],
],
],
]
);
# ... Other InputFilters
class SomeFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
/** @var ImageOptimiserService $imageOptimiserService */
$imageOptimiserService = $container->get(ImageOptimiserService::class);
# or... provide your own LoggerInterface
/** @var Logger $logger */
$logger = $container->get(Logger::class);
/** @var Stream $writer */
$logger->addWriter(new Stream('php://output'));
/** @var ImageOptimiserService $imageOptimiserService */
$imageOptimiserService = $container->build(ImageOptimiserService::class, ['logger' => $logger]);
# ... other factory stuff
}
}
/** @var array|WriterInterface[] $writers */
$writers = $imageOptimiserService->getLogger()->getWriters()->toArray();
/** @var Zend\Log\Writer\Mock $mockWriter */
$mockWriter = $writers[0];
/** @var array $events */
$events = $mockWriter->events;
bash
php ./public/index.php image-optimiser --image='./public/images/test.png'