2016-11-25 7 views
0

イメージをVKからフォルダに保存しようとしています。しかし、画像は正しく保存されません。PHP Curl動的イメージをVKから保存する

私が使用するコードは次のとおりです。私はそれが標準的な画像フォーマットであってはなりません

// imageFromURL (Save an image from a URL) 
function imageFromURL($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); 
} 

imageFromURL('https://vk.com/captcha.php?sid=698254154192&s=1', 'Image/Captcha.png'); 

と思いますか?これを保存して、それがCURLでpng形式のイメージであることを確認するにはどうすればよいですか?

+0

これを実行すると、イメージはイメージフォルダに正しく保存されます。私はそれを開いて見ることができます。あなたはそれが貯蓄ではないと思うのは何ですか? – WEBjuju

+0

これは奇妙なことかもしれませんが、たぶんphpのバージョンか、多分変更が必要な設定が可能です。 – zeddex

答えて

0

exif_imagetype($image)を使用して、ファイルの種類を返すことができます。

$mime_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); 

を、あなたが探しされるMIMEタイプ(複数可)を確認してください:PNGあなたが保存前に確認することができ、さらに3

返します。リモートサーバに依存して情報を正しく報告しているため、信頼関係があります。

+0

CURLでイメージヘッダーを強制する方法はありますか? – zeddex

+0

私は自分の答えを修正しました。 –

関連する問題