Posts Tagged Funktion

Twitter Profil Image mit PHP aktualisieren.

Posted on Juni 10, 2009 by 4 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);

TwitterFox – Die Erweiterung für den FireFox

Posted on Mai 27, 2009 by 2 Comments

Mittlerweile gibt es diverse Twitter Tools für diverse Systeme (iPhone, Blackberry….). Doch schon einmal nach einem Tool für den FireFox Browser gesucht?
Das beliebteste Tool für den FireFox ist TwitterFox. Das Add-on fügt in die untere Linke Ecke des Browsers ein Icon hinzu, welches Benachrichtigungen zeigt, wenn ein Freund neue Twitter Nachrichten gepostet hat. Über TwitterFox ist es schnell & bequem möglich seinen Twitter Status zu aktualisieren, einfach auf das Twitter Icon klicken und seinen neuen Status in dem Eingabe Feld posten.

TwitterFox liefert die wichtigsten, sowie viele weitere Features mit:

  • Tweets Reply-Funktion
  • Tweets Kopieren
  • Tweets löschen
  • Tweets in neuem Tab öffnen
  • Mehrere Accounts verwalten
  • Replies & Nachrichten Übersicht
  • Tweets als Favoriten markieren
  • Und viele weitere nette Features

Hier geht es zur Hersteller & Download Seite.

Auf .htaccess passwortgeschützte Seiten mit PHP zugreifen

Posted on April 30, 2009 by No Comments

Mal wieder ein aktuelles Problem aus dem alttag. Eine Webseite wird mittel .htaccess geschützt, wie kann man trotzdem an geschützte PHP-Seiten rankommen? Auf der Suche nach der Funktion bin ich auf folgendes Script gestoßen welches Ohne Probleme funktioniert und die .htaccess Anmeldung übernimmt.

Konfiguration der Parameter

1
2
3
4
$host = "domain.tld"; // Dein Host, z.B. admin.server.de oder geheim.de
$url = "/geheim/index.html"; // Die URI, auf die dann zugegriffen werden soll
$user = "test"; // Benutzername vom .htaccess
$pw = "testpwd"; // Passwort vom .htaccess

Der eigentliche Script Inhalt

1
2
3
4
5
6
7
8
9
header("Content-type: text/html");
$sock = fsockopen($host, 80, $errno, $errstr, 5); // 80 = Port, 5 = Timeout
fputs($sock, "GET ".$url." HTTP/1.1rn");
fputs($sock, "Host: ".$host."rn");
fputs($sock, "Authorization: Basic ".base64_encode($user.":".$pw)."rn");
fputs($sock, "Connection: closernrn");
while(!feof($sock))
echo fgets($sock, 4096); // Antwort lesen
fclose($sock);