2012-08-28 7 views
0

Je veux télécharger une photo sur Google picasa en utilisant curl, j'ai trouvé cette ligne de code qui télécharge l'image à Google picasa en utilisant Curl Mais je ne sais pas comment le convertir en PHP et rouler pour pouvoir l'utiliser.Comment écrire ceci dans phl curl

curl --silent --request POST --data-binary "@sweeping_the_rock.png" --header "Slug: Sweeping the rock" --header "Content-Type: image/png" --header "Authorization: GoogleLogin auth=ABCDEFG" "http://picasaweb.google.com/data/feed/api/user/brad.gushue/albumid/5113621341847124417" | tidy -xml -indent -quiet 

$file = "C:/Users/Michael/Desktop/182178_271150652992340_118089494_n.jpg"; 
$postimg = "https://picasaweb.google.com/data/feed/api/user/userId/albumid/albumId"; 
$header = array("Content-Type: image/jpeg", 
     "Content-Length: ".filesize($file), 
     "Authorization: GoogleLogin auth=$token", 
     "Slug: 182178_271150652992340_118089494_n.jpg" 
); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $postimg); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file)); 
$hasil = curl_exec($ch); 
curl_close($ch); 

Source: https://developers.google.com/gdata/articles/using_cURL#media-support

+2

Bonjour et bienvenue sur StackOverflow. Bien que vous ayez des problèmes avec votre programme, nous vous encourageons fortement (et insistons) que vous donniez le meilleur de vous-même avant de demander de l'aide à la communauté. Quand il est clair que vous rencontrez des problèmes avec le code que vous avez essayé, nous sommes heureux de vous aider! Si vous ne faites aucun effort pour concevoir vos propres solutions, nous avons tendance à décliner votre question et à la fermer. Vous devez au moins essayer une solution en premier. Ne demandez jamais à quelqu'un d'écrire du code au lieu d'un effort honnête. En bref, [qu'avez-vous essayé] (http://www.whathaveyoutried.com)? – Matt

+0

Les documents [PHP Curl] (http://www.php.net/manual/fr/ref.curl.php) devraient s'avérer utiles. –

+0

Alors, où avez-vous des problèmes? Obtenez-vous des erreurs curl? N'obtenez-vous pas la réponse que vous attendez de l'API? –

Répondre

0

Peut-être que vous n'êtes pas d'envoyer le fichier correctement. vous devez ajouter les CURL_OPTs pour le téléchargement de fichiers il est mime codé et transféré correctement (afficherons un téléchargement de fichier est une forme de codage totalement différent puis l'envoi de données post simples)

http://php.net/manual/en/function.curl-setopt.php

CURLOPT_INFILE Le fichier le transfert doit être lu à partir du téléchargement.

CURLOPT_INFILESIZE Taille attendue, en octets, du fichier lors du téléchargement d'un fichier sur un site distant. Notez que l'utilisation de cette option n'empêchera pas libcurl d'envoyer plus de données, car exactement ce qui est envoyé dépend de CURLOPT_READFUNCTION.