Twitter Profil Image mit PHP aktualisieren.
Posted on Juni 10, 2009 by Benni4 Comments
Heute mal der Codeschnipsel um sein Twitter Profil Image mittels PHP zu aktualisieren:
Als erstes legen wir unsere Twitter-User Daten fest
1 2 3 4 | <?php $username = 'Twitter-User'; $password = 'Passwort'; ?> |
Wichtig ist, dass das zu speichernde Bild lokal auf dem Webspace vorhanden ist, da es sonst zu einem Problem kommt, welches ich noch nicht lösen konnte. Sollte das Bild denoch im Webliegen kann man dies mit folgenden Code auf dem Webspace speichern:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php // Bilder Speichern ob_start(); $fp = fopen("http://assets0.twitter.com/images/twitter_logo_header.png", "rb"); //Image lesen fpassthru($fp); fclose($fp); $file = ob_get_contents(); ob_end_clean(); $fp = fopen("./twitterlogo.png", "wb+"); //Image speichern fwrite($fp, $file); fclose($fp); ?> |
Nun wird das Bild vor jedem aufruf lokal gespeichert. Um das Bild nun zu Twitter zu schicken brauchen wir folgenden funktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php function account_update_profile_image($image, $user, $pw) { $args = array(); if(file_exists($image)) { $args['image'] = "@$image"; } if(isset($args['image'])) { $url = "http://twitter.com/account/update_profile_image.xml"; //PRINT_r($args); $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, "$url"); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array('Expect:')); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $args); curl_setopt($curl_handle, CURLOPT_USERPWD, "$user:$pw"); $buffer = curl_exec($curl_handle); curl_close($curl_handle); //PRINT_R($buffer); } } ?> |
Diese Funktion überprüft ob das Bild existiert und schreibt es in ein Array, um es letztendlich an den Twitter Account zu schicken.
Um die Funktion aufzurufen werden drei Parameter benötigt, der Bildername, der Username und das Passwort, wobei Username und Passwort aus den oben festgelegten Variablen Stammen.
1 | account_update_profile_image("twitterlogo.png", $username, $password); |
Tags: Funktion, Post, profile image, Twitter, twitterlogo, update profile, Webspace
Filed Under: Dev / Codeschnipsel