Php 将url中的任何图像类型另存为jpg
是否可以将带有任何类型图像(可以是jpg、png、gif等)的url作为jpg保存到php中的文件夹中,而无需执行多个步骤(检查扩展名、另存为相同类型并转换为jpg) 示例URLPhp 将url中的任何图像类型另存为jpg,php,image,save-as,Php,Image,Save As,是否可以将带有任何类型图像(可以是jpg、png、gif等)的url作为jpg保存到php中的文件夹中,而无需执行多个步骤(检查扩展名、另存为相同类型并转换为jpg) 示例URL (.PNG) (.jpg) url并不总是包含imagename.ext类型的结构 对于这样的代码(从这里开始) 是否可以在不检查扩展名的情况下保存任何图像文件类型? 我试过了 $input = 'URL_string'; $output = 'path/to/folder/name'; // no extension
$input = 'URL_string';
$output = 'path/to/folder/name'; // no extensions
file_put_contents($output, file_get_contents($url));
imagejpeg($output,"temp.jpg");
力的作用。我读了很多书,但不知道如何得到一个简单的解决方案
谢谢您的帮助。要解决您的问题,请参阅下面提到的代码片段
<?php
$im=imagecreatefromjpeg('http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com');
header('Content-type:image/jpeg');
imagejpeg($im);
?>
$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);
}
imagecreatefromjpeg函数用于从文件或URL创建图像
还必须在php.ini文件中将allow_url_fopen设置设置为On,以便从url创建图像
有关更多详细信息,请参阅以下url中提到的文档
作为问题的解决方案,请参考下面提到的代码片段
<?php
$im=imagecreatefromjpeg('http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com');
header('Content-type:image/jpeg');
imagejpeg($im);
?>
$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);
}
我想这是不可能的(考虑到所有现有的图像文件类型),但对于最基本的图像文件类型,应该有用于转换的库
同样,对于您尝试过的事情-仅将文件扩展名重命名为
.jpg
实际上并不使其成为jpg(例如,IrfanView在打开此类文件时会发出警告,并询问您是否要将扩展名更改回正确的扩展名)它并不总是来自jpg。它可以是任何文件类型。这就是我想要的。类似imagejpeg(“$url”)的东西,其中url可以是jpg、png或任何东西。请尝试我最新答案中提到的代码片段。它将独立于任何文件扩展名保存图像。有一个编辑按钮。我猜他想把图像转换成JPG,而不仅仅是改变分机。是的,不仅仅是改变分机。但是从@Seth所说的,以及我在任何地方都找不到任何讨论的内容,我想我应该按照常规方式:检查标题,并使用createimagefromjpeg/png/gif等单独的函数。我只是试着摆弄扩展,认为可能imagejpeg()可以做到。我看到了一些关于imajik的东西,但我没有安装它。在我继续添加包之前,我希望php能做到这一点。