0

SOを検索すると、次の関数が見つかりました

function grab_image($url,$saveto){
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $raw=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($saveto)){
        unlink($saveto);
    }
    $fp = fopen($saveto,'x');
    fwrite($fp, $raw);
    fclose($fp);
}

これは画像を保存するために機能するはずですが、画像を確認するにはどうすればよいdimensionsですsizefiletype?最初にその有効性を検証するにはどうすればよいですか?

4

2 に答える 2

2

このようなもの?

$raw = curl_exec($ch);
if ($raw === FALSE) {
   die("Fetch failed");
}

// get size
$size = strlen($raw);

// get dimensions
$img = imagecreatefromstring($raw);
$x = imagesx($img);
$y = imagesy($img);

// get mime type
$finfo = new finfo(FILEINFO_MIME);
$type = $finfo->buffer($raw); // e.g. image/jpeg
于 2012-06-09T05:39:48.980 に答える
0

カールを発射する前に、を使用して画像を直接読み取ることができます

$url = 'http://exmaple.com/img/some.png';
$imgInfo = getimagesize($url);
print_r($imgInfo);
于 2012-06-09T05:58:15.377 に答える