PHPでTwitterに投稿

  • 投稿するメッセージは rawurlencode() でエンコードする。メッセージにスペース(空白)があると、そこで切れてしまうから。

PHP5以上

<?php
$url = "http://twitter.com/statuses/update.xml?";
$username = your username;
$password = your password;
$params = "status=". rawurlencode(message);

$result = file_get_contents($url.$params , false, stream_context_create(array(
	"http" => array(
		"method" => "POST",
		"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
	)
)));
?>

PHP4以上 (PHP3は分からない)

<?php
$url = "http://twitter.com/statuses/update.xml?";
$username = your username;
$password = your password;
$params = "status=". rawurlencode(message);

$fp = fopen($url.$params, 'r', false, stream_context_create(array(
	"http" => array(
		"method" => "POST",
		"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
	)
)));

$result = "";

while(!feof($fp)){
	$result .= fgets($fp);
}

fclose($fp);
?>