将来自URL的任何图像类型保存为jpg。

33 浏览
0 Comments

将来自URL的任何图像类型保存为jpg。

在php中,是否可以将任何类型(例如jpg、png、gif等)的带图像的url保存为jpg格式的文件夹,而不需要多个步骤(检查扩展名、保存为相同类型并转换为jpg)?

示例url:

1. http://jdownloader.org/_media/knowledge/wiki/jdownloader.png?cache=&w=512&h=512 (.PNG)

2. http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com (.jpg)

url可能不总是包含imagename.ext这样的结构。

对于像这样的代码(源自PHP保存图像文件):

$input = 'http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com';
$output = 'google.com.jpg';
file_put_contents($output, file_get_contents($url)); 

是否可以保存任何图像文件类型而无需检查扩展名?

我尝试了以下代码:

$input = 'URL_string';
$output = 'path/to/folder/name'; // 没有扩展名
file_put_contents($output, file_get_contents($url)); 
imagejpeg($output,"temp.jpg");

但没有成功。我阅读了根据url创建任何文件类型的图像使用PHP保存图像等等,但不确定如何得到一个简单的解决方案。

感谢任何帮助。

0
0 Comments

这个问题的出现是因为使用给定的URL保存图像时,无法直接将其保存为JPG格式。虽然有许多不同的图像文件类型,但对于一些基本的文件类型,可能存在用于转换的库。然而,仅仅通过更改文件扩展名为.jpg并不会真正将其转换为JPG格式。例如,IrfanView在打开此类文件时会发出警告,并询问是否要将扩展名更改回正确的格式。有人尝试过使用imagejpeg()函数来处理文件扩展名,还看到了有关imajik的一些信息,但是他并没有安装它。他希望在继续添加软件包之前,PHP能够完成此任务。

解决这个问题的方法可能是使用适当的图像处理库或软件包,例如imajik。该库可以提供将图像从给定的URL保存为JPG格式的功能。另外,还可以尝试使用其他语言或工具来实现这个功能,如Python的Pillow库或使用命令行工具如ImageMagick。

总之,为了从给定的URL保存图像为JPG格式,需要使用适当的图像处理库或软件包,并确保正确地转换图像的文件格式。

0
0 Comments

问题的原因是希望能够从一个URL中保存任何类型的图像为jpg格式。解决方法是使用PHP的imagecreatefromjpeg函数来创建一个图像,并使用imagejpeg函数将其保存为jpg格式的文件。

要解决这个问题,首先需要确保在php.ini文件中将allow_url_fopen设置为On,以便从URL创建图像。然后,可以使用以下代码片段来保存图像:


这段代码将创建一个来自URL的图像,并将其保存为jpg格式的文件。请注意,这里的URL可以是任何类型的图像文件,不仅仅是jpg格式。

如果想要了解更多细节,请参考以下链接中的文档:http://php.net/manual/en/filesystem.configuration.php

通过尝试最新回答中提到的代码片段,可以独立于文件扩展名保存图像。

0
0 Comments

问题的出现原因是用户想要从给定的URL保存图片,但是用户希望将图片保存为JPG格式,而不仅仅是更改文件扩展名。

为了解决这个问题,下面的代码片段提供了一个解决方案:

$h = get_headers('http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com', 1);
$img_content = file_get_contents('http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com');
$extension = 'jpg';
if (!empty($img_content)) {
    switch ($h['Content-type']) {
        case 'image/jpeg':
            $extension = 'jpg';
            break;
        case 'image/gif':
            $extension = 'gif';
            break;
        case 'image/png':
            $extension = 'png';
            break;
    }
    file_put_contents('abc.' . $extension, $img_content);
}

这段代码首先通过`get_headers`函数获取给定URL的响应头信息,然后使用`file_get_contents`函数获取图片的内容。

接下来,根据`Content-type`头信息中的值,判断图片的类型,并将文件扩展名设置为对应的类型(如JPG、GIF或PNG)。

最后,使用`file_put_contents`函数将图片内容保存为以指定扩展名命名的文件。

通过这种方式,用户可以从给定URL保存任何类型的图片,并将其保存为JPG格式。

0