2012-03-25 2 views
0

Hallo Ich versuche, das Benutzerprofilbild zu erhalten und dann in ein vorhandenes Bild gemäß meiner Facebook-App-Anforderung zusammenzuführen. Dafür muss ich seine Pantomime überprüfen usw. Aber ich habe Schwierigkeiten beim Abrufen und Speichern des Bildes.Wie speichert Facebook Benutzer Bild auf der Festplatte speichern Ohne file_get_contents() `?

 $facebook = new Facebook($config); 
     $user = $facebook -> getUser(); 
     if ($user) { 
      $user_profile = $facebook -> api('/me'); 
     } 

     //User Info. Variables: 
     try { 
      $userPpicture = $user_profile[picture]; 
      } 

Jetzt haben wir ich das möchte ich abgerufen dieses Bild auf der Festplatte speichern, so konnte ich seine Mime Zeit usw. für die weitere Verarbeitung überprüfen, wie kann ich das erreichen?

p.s. Aufgrund meiner Hosting-Server-Einschränkungen kann ich die Funktion file_get_contents() nicht verwenden. Also brauche ich eine Lösung außer diesem.

Bitte helfen. danke.


cURL Versuch:

//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); 
      $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); 

diesen Fehler während der Mime-Typ des Bild Überprüfung: Notice: exif_imagetype(): Read error! in

+0

überprüfen folgen, wenn 'fopen' – Baba

+0

@Baba aktiviert ist: kein' fopen' ist ebenfalls deaktiviert. irgendwelche anderen Alternativen? – Maven

Antwort

1

Sind Sie ROTATION verwenden?

Wenn ja, nur http://phpsense.com/2007/php-curl-functions/

+0

Ive aktualisiert meinen Code mit meinem Versuch mit cURL, die ich glaube, funktioniert nicht richtig, bitte schauen Sie. – Maven

+0

Bitte haben Sie ein _debug_, bitte. var_dump den Rückgabewert, sehen, ob tatsächlich eine Datei auf Ihrem Server geschrieben ist, überprüfen Sie die relevanten Rückgabewerte, ... EDIT: CURLOPT_FOLLOWLOCATION fehlt möglicherweise. – CBroe