Я пытаюсь найти пользователей, отображающих изображение через график api, и используя cUrl, чтобы сохранить его на диске, но я не могу его преуспеть и получить эту ошибку при попытке проверить мим тип изображения, которое я сохранил:Не удается получить и сохранить изображение пользователя с помощью cURL
Notice: exif_imagetype(): Read error! in
//$userPpicture = $user_profile[picture];
//Create image instances
$url = "http://graph.facebook.com/{$userId}/picture?type=large";
$dpImage = 'temp/' . $userId . '_dpImage_' . rand().'.jpg';
echo $dpImage;
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$returned_content = get_data($url);
file_put_contents($dpImage, $returned_content);
echo "Type: " . exif_imagetype($dpImage);
для этого обновленного кода с помощью curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
я получаю эту ошибку:
Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /var/fog/apps/app12345/myapp.phpfogapp.com/start.php on line 178
Если это действие требует какой-либо конфигурации на стороне сервера, то я, возможно, не смогу это сделать, поскольку я использую общее облачное хранилище в пределах phpfog
.
Просьба помочь мне в этом.
Thankyou.
Вы уверены, что разрешение было предоставлено приложению для доступа к картинке? – Reinard
да все необходимые разрешения. – Maven
@Sir - изображения через/id/picture являются общедоступными - Maven - посмотрите изображение в каталоге temp - убедитесь, что вы получаете то, что ожидаете - также попробуйте file_get_contents (он работает с URL-адресами) – scibuff