como salvar a foto do perfil do usuário no facebook usando php

Estou tentando criar um aplicativo que use a foto do perfil do usuário. Então, escrevo um código que lê a foto do perfil no Facebook e o salvo no meu servidor. Eu uso o seguinte código

function GetImageFromUrl($link){
   $ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
return $result;
}

$userpicpath = "http://graph.facebook.com/$uid/picture?type=normal";

$sourcecode = GetImageFromUrl($userpicpath);
$savefile = fopen("$uid-normal.jpg", "w"); //this is name of new file that i save
fwrite($savefile, $sourcecode);
fclose($savefile);

Aqui $ uid é o ID do usuário.

O código acima não funciona corretament

Mas quando copio o $ userpicpath (por exemplo,http: //graph.facebook.com $ uid / picture? type = normal) no navegador e pressione enter, ele retornará um novo caminho para a imagem na barra de endereços e mostra a imagem adequada que eu quero. Se eu passar esse novo caminho na barra de endereços para a minha função, ele salvará o arquivo de imagem que eu quer

Porque isso está acontecendo? Como obtenho esse caminho da segunda imagem e o passo para a minha função no programa. Por favor me ajude

Obrigado

questionAnswers(4)

yourAnswerToTheQuestion