2016-10-14 14 views
0

何らかの理由でGoogleマップ画像をファイルに保存できません。ここでphpは外部画像をファイルに保存できません

は私のコードです:私は、マップのURLに行くときtmp.png is 0 bytesに保存されて

$rs=mysqli_fetch_assoc(mysqli_query($dbh,"select latitude,longitude from locations where locid=$locid")); 
$lat=$rs[latitude];$lon=$rs[longitude]; 
$mapUrl="https://maps.googleapis.com/maps/api/staticmap?center=$lat,$lon&zoom=13&size=400x280&key=".google_apikey; 
$tmp="/srv/www/data/maps/tmp.png"; 
touch($tmp);chmod($tmp,0777); 
file_put_contents($tmp,file_get_contents($mapUrl)); 

結果の画像は、しかし、明示的にそれがここで間違っていただきました!かなりわからない

を示しています。このページで選択された解答へ

+1

「空白」? 400x280の全黒の画像が得られますか?または.pngが0バイトですか?今では、file_get_contentsとfile_put_contentsの呼び出しが実際に成功したとみなしているだけです。 –

+1

デバッグ中に関数をネストしないでください。私はあなたのサーバー上でSSLが失敗したと思いますので、file_get_contentsは何も返しませんでした。 var_dump(file_get_contents($ mapUrl))が空ではありませんか? –

+0

0バイトは、あなたのf_g_c呼び出しが失敗したことを意味します。その理由を理解する必要があります。おそらくGoogleのあなたのIPをブラックリストに載せた –

答えて

0

移動:すべてが素晴らしい作品のでCopy image from URL, change name and save to folder

は、あなたのニーズに合わせて微調整。私は同様の問題を抱えていて、そのスタックのいくつかの断片は私の問題を解決しました。あなたのディレクトリが777で、あなたがSSLに準拠していることを確認してください。私の問題は真夜中の時間に細部まで注目されていた。私はroot '/images/my/path/here.extension'にそれを "images/..."に変更するのを忘れてしまっています。ドー!時にはそれはとても簡単なことかもしれません。

関連する問題