webp-convert

Convert jpeg/png to webp with PHP (if at all possible)

  • 所有者: rosell-dk/webp-convert
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

WebP Convert

Latest Stable Version
Minimum PHP Version
Build Status
Coverage Status
Quality Score
Software License

Convert JPEG & PNG to WebP with PHP

This library enables you to do webp conversion with PHP. It supports an abundance of methods for converting and automatically selects the most capable of these that is available on the system.

The library can convert using the following methods:

In addition to converting, the library also has a method for serving converted images, and we have instructions here on how to set up a solution for automatically serving webp images to browsers that supports webp.

Installation

Require the library with Composer, like this:

composer require rosell-dk/webp-convert

Converting images

Here is a minimal example of converting using the WebPConvert::convert method:

<?php

// Initialise your autoloader (this example is using Composer)
require 'vendor/autoload.php';

use WebPConvert\WebPConvert;

$source = __DIR__ . '/logo.jpg';
$destination = $source . '.webp';
$options = [];
WebPConvert::convert($source, $destination, $options);

The WebPConvert::convert method comes with a bunch of options. The following introduction is a must-read:
docs/v2.0/converting/introduction-for-converting.md.

If you are migrating from 1.3.9, read this

Serving converted images

The WebPConvert::serveConverted method tries to serve a converted image. If there already is an image at the destination, it will take that, unless the original is newer or smaller. If the method cannot serve a converted image, it will serve original image, a 404, or whatever the 'fail' option is set to. It also adds X-WebP-Convert-Log headers, which provides insight into what happened.

Example (version 2.0):

<?php
require 'vendor/autoload.php';
use WebPConvert\WebPConvert;

$source = __DIR__ . '/logo.jpg';
$destination = $source . '.webp';

WebPConvert::serveConverted($source, $destination, [
    'fail' => 'original',     // If failure, serve the original image (source). Other options include 'throw', '404' and 'report'
    //'show-report' => true,  // Generates a report instead of serving an image

    'serve-image' => [
        'headers' => [
            'cache-control' => true,
            'vary-accept' => true,
            // other headers can be toggled...
        ],
        'cache-control-header' => 'max-age=2',
    ],

    'convert' => [
        // all convert option can be entered here (ie "quality")
    ],
]);

The following introduction is a must-read (for 2.0):
docs/v2.0/serving/introduction-for-serving.md.

The old introduction (for 1.3.9) is available here: docs/v1.3/serving/convert-and-serve.md

WebP on demand

The library can be used to create a WebP On Demand solution, which automatically serves WebP images instead of jpeg/pngs for browsers that supports WebP. To set this up, follow what's described in this tutorial (not updated for 2.0 yet).

Projects using WebP Convert

CMS plugins using WebP Convert

This library is used as the engine to provide webp conversions to a handful of platforms. Hopefully this list will be growing over time. Currently there are plugins / extensions / modules / whatever the term is for the following CMS'es (ordered by market share):

Other projects using WebP Convert

Supporting WebP Convert

Bread on the table don't come for free, even though this library does, and always will. I enjoy developing this, and supporting you guys, but I kind of need the bread too. Please make it possible for me to have both:

Become a backer or sponsor on Patreon.

主要指標

概覽
名稱與所有者rosell-dk/webp-convert
主編程語言PHP
編程語言PHP (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2017-06-19 08:08:19
推送於2025-04-01 16:41:46
最后一次提交2025-04-01 18:41:46
發布數47
最新版本名稱2.9.3 (發布於 )
第一版名稱0.1.0 (發布於 )
用户参与
星數591
關注者數21
派生數104
提交數1.6k
已啟用問題?
問題數324
打開的問題數31
拉請求數22
打開的拉請求數1
關閉的拉請求數8
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?