我需要將用戶圖像作爲PHP中的圖像對象。
最明顯的選擇將是做到以下幾點:在PHP中通過curl獲取用戶個人資料圖像不起作用
$url = 'https://graph.facebook.com/'.$fb_id.'/picture?type=large';
$img = imagecreatefromjpeg($url);
這工作我測試服務器上,而不是在服務器上運行此腳本應該最終運行(allow_url_fopen已被關閉,那裏)。
所以,我想通過捲曲獲得的圖像:
function LoadJpeg($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
$fileContents = curl_exec($ch);
curl_close($ch);
$img = imagecreatefromstring($fileContents);
return $img;
}
$url = 'https://graph.facebook.com/'.$fb_id.'/picture?type=large';
$img = LoadJpeg($url);
然而,這不符合Facebook的個人資料圖片工作。
例如,使用捲曲從google.com加載Google Googles徽標完美。
有人可以告訴我爲什麼或告訴我如何實現我想要做的?
感謝您的回答,但設置用戶代理並不能解決問題。 關於TOS:我正在編寫一個應用程序,可以爲正在使用它的用戶使用用戶配置文件圖像。我在這裏看不到問題 - 或者我錯過了什麼? –
我也嘗試通過設置除用戶代理以外的其他頭字段來模擬普通的瀏覽器調用,但沒有運氣。 真正令我困惑的是imagecreatefromjpeg不會遇到任何這些問題;它只是檢索圖像。 –