优化图像-在php中无损压缩图像

优化图像-在php中无损压缩图像,php,lossless-compression,gtmetrix,Php,Lossless Compression,Gtmetrix,图像存储在与我使用的服务器不同的服务器中。有没有一种方法可以使用php无损压缩它们,并且在压缩后将图像显示到我的站点,而不必将图像下载到我的服务器并存储它们?我无法访问存储图像的服务器。我只能将它们下载到我的服务器上。现在我只使用图片的url将图片加载到我的站点,但GTmetrix不断提到无损压缩图片。有什么想法吗?如果您有权访问服务器的文件,您可以使用类似的方法来实现目标。如果已安装并运行composer,您也可以使用它,但同样,您需要以某种方式访问服务器。如果您决定访问这些文件,则可以使用它

图像存储在与我使用的服务器不同的服务器中。有没有一种方法可以使用php无损压缩它们,并且在压缩后将图像显示到我的站点,而不必将图像下载到我的服务器并存储它们?我无法访问存储图像的服务器。我只能将它们下载到我的服务器上。现在我只使用图片的url将图片加载到我的站点,但GTmetrix不断提到无损压缩图片。有什么想法吗?

如果您有权访问服务器的文件,您可以使用类似的方法来实现目标。如果已安装并运行composer,您也可以使用它,但同样,您需要以某种方式访问服务器。如果您决定访问这些文件,则可以使用它们安装。您可以选择在文件中立即返回请求,也可以将其发布到服务器可以访问的URL。您的请求可能类似于:

{
    "auth": {
        "api_key": "your-api-key",
        "api_secret": "your-api-secret"
    },
    "url": "http://image-url.com/file.jpg",
    "wait": true
}
{
    "success": true,
    "file_name": "file.jpg",
    "original_size": 324520,
    "kraked_size": 165358,
    "saved_bytes": 159162,
    "kraked_url": "http://dl.kraken.io/d1aacd2a2280c2ffc7b4906a09f78f46/file.jpg"
}
require_once("Kraken.php");

$kraken = new Kraken("your-api-key", "your-api-secret");

$params = array(
    "file" => "/path/to/image/file.jpg",
    "wait" => true,
    "webp" => true,
    "lossy" => false
);

$data = $kraken->upload($params);
您的回答可能类似于:

{
    "auth": {
        "api_key": "your-api-key",
        "api_secret": "your-api-secret"
    },
    "url": "http://image-url.com/file.jpg",
    "wait": true
}
{
    "success": true,
    "file_name": "file.jpg",
    "original_size": 324520,
    "kraked_size": 165358,
    "saved_bytes": 159162,
    "kraked_url": "http://dl.kraken.io/d1aacd2a2280c2ffc7b4906a09f78f46/file.jpg"
}
require_once("Kraken.php");

$kraken = new Kraken("your-api-key", "your-api-secret");

$params = array(
    "file" => "/path/to/image/file.jpg",
    "wait" => true,
    "webp" => true,
    "lossy" => false
);

$data = $kraken->upload($params);
用于设置响应的PHP代码可能如下所示:

{
    "auth": {
        "api_key": "your-api-key",
        "api_secret": "your-api-secret"
    },
    "url": "http://image-url.com/file.jpg",
    "wait": true
}
{
    "success": true,
    "file_name": "file.jpg",
    "original_size": 324520,
    "kraked_size": 165358,
    "saved_bytes": 159162,
    "kraked_url": "http://dl.kraken.io/d1aacd2a2280c2ffc7b4906a09f78f46/file.jpg"
}
require_once("Kraken.php");

$kraken = new Kraken("your-api-key", "your-api-secret");

$params = array(
    "file" => "/path/to/image/file.jpg",
    "wait" => true,
    "webp" => true,
    "lossy" => false
);

$data = $kraken->upload($params);
您可以像处理普通JSON请求一样处理响应,并且可以查询已处理图像的图像URL。但是,您需要注册他们的API,这不是免费的。如果您正在寻找功能较少的免费解决方案,您可以查看。这正是Kraken这样的服务的工作原理,但要有一个健壮的系统设置需要更长的时间。同样,您需要某种形式的服务器访问权限。否则,你真的什么也做不了