以图像格式保存输出数据

时间:2013-12-11 09:09:13

标签: php mysql image drupal google-api

我将数据保存为jpeg文件,但无法正确保存。

$file=  drupal_http_request('https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference=CnRvAAAAwMpdHeWlXl-lH0vp7lez4znKPIWSWvgvZFISdKx45AwJVP1Qp37YOrH7sqHMJ8C-vBDC546decipPHchJhHZL94RcTUfPa1jWzo-rSHaTlbNtjh-N68RkcToUCuY9v2HNpo5mziqkir37WU8FJEqVBIQ4k938TI3e7bf8xq-uwDZcxoUbO_ZJzPxremiQurAYzCTwRhE_V0&sensor=true&key=AIzaSyDGsEo0x-oqsIDVn0EaTx6mN1BMXkAhZDs');
   $handle=fopen("/public/image.jpeg",'w');
   fwrite($handle,$file->data);
   fclose($handle);

输出:$ file->数据为:“IHDRddpâ•TIDATxÚílUåÇkbæ.....”

2 个答案:

答案 0 :(得分:1)

让自己避免头痛 - 使用system_retrieve_file()

$result = system_retrieve_file($url, 'public://image.jpeg');

我认为您当前的代码无效,因为您没有使用适当的公共文件夹URI,但您也可以使用可用的API。

答案 1 :(得分:0)

相反file功能,您可以使用copy,如下所示:

try{        
copy($source, $destination);
}catch(Exception $e) {
    echo "<br/>\n unable to copy '$fileName'. Error:$e";

}