Php 将url中的任何图像类型另存为jpg

Php 将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

是否可以将带有任何类型图像(可以是jpg、png、gif等)的url作为jpg保存到php中的文件夹中,而无需执行多个步骤(检查扩展名、另存为相同类型并转换为jpg)

示例URL

  • (.PNG)
  • (.jpg)
  • url并不总是包含imagename.ext类型的结构

    对于这样的代码(从这里开始)

    是否可以在不检查扩展名的情况下保存任何图像文件类型? 我试过了

    $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能做到这一点。