0

任意のタイプ(jpg、png、gifなど)の画像を含むURLを複数の手順(拡張子を確認し、同じタイプとして保存してjpgに変換)なしでphpのフォルダーにjpgとして保存することは可能ですか?

サンプルURL

  1. http://jdownloader.org/_media/knowledge/wiki/jdownloader.png?cache3%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'; // no extensions
file_put_contents($output, file_get_contents($url)); 
imagejpeg($output,"temp.jpg");

ディントワーク。「任意のファイルタイプのURLから画像を作成」、「PHP URLから画像を保存」などを読みましたが、簡単な解決策を取得する方法がわかりません。

助けてくれてありがとう。

4

3 に答える 3

0

これは不可能だと思いますが (既存のすべての画像ファイルタイプを念頭に置いてください)、最も基本的なものについては、変換用のライブラリが必要です。

また、あなたが試したことについて-ファイル拡張子の名前を変更しただけで.jpgは、実際にはjpgになりません(たとえば、IrfanViewは、そのようなファイルを開くと警告し、拡張子を正しいものに戻すかどうかを尋ねます)

于 2012-10-31T07:36:53.397 に答える
0

問題の解決策として、下記のコード スニペットを参照してください。

<?php
  $im=imagecreatefromjpeg('http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com');
    header('Content-type:image/jpeg');
    imagejpeg($im);
 ?>

imagecreatefromjpeg 関数は、ファイルまたは URL から画像を作成するために使用されます

また、URL から画像を作成するには、php.ini ファイルで allow_url_fopen 設定を On に設定する必要があります。

詳細については、以下の URL に記載されているドキュメントを参照してください。

http://php.net/manual/en/filesystem.configuration.php

于 2012-10-31T06:34:26.217 に答える
0

問題の解決策として、下記のコード スニペットを参照してください。

       $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);

 }
于 2012-10-31T07:30:46.387 に答える