匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

PHPで、はてなハイクのBOTをつくりたいです。

いろんなサイトを見てつくった結果

<?php
$username = '******';
$password = '******';
$keyword = '******';
$source = '******';
$file = 'http://******.gif';
$url = 'http://h.hatena.ne.jp/api/statuses/update.xml?';
$params = 'file='. rawurlencode($file). '&keyword='. rawurlencode($keyword). '&source='. rawurlencode($source);
$result = file_get_contents($url. $params , false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Authorization: Basic '. base64_encode($username. ':'. $password)
)
)));
header('Content-type: text/xml; charset=UTF-8');
echo '<file>投稿内容:'. $file. '</file>';
?>

こうなりました。
http://developer.hatena.ne.jp/ja/documents/haiku/apis/rest/entries#update
に、file 引数を指定するときは multipart/form-data を使う必要があります。
と書いてあるのですが、multipart/form-data を使うって、どうすればよいのでしょうか?
自分で調べてみて、
enctyp属性にmultipart/form-dataを指定しなければならないということは分かったのですが、やり方が分かりません。
どうすればよいのでしょうか?

回答の条件
  • 1人10回まで
  • 登録:2012/09/29 10:03:52
  • 終了:2012/10/06 10:05:03

回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/29 12:08:44

file_get_contents()でファイル送信する場合はheaderに「Content-Type: multipart/form-data」を登録する必要があります。

$header = array(
"Content-Type: multipart/form-data; boundary=" . $boundary,
"Content-Length: " . strlen($file_data),
"Authorization: Basic " . base64_encode($username . ':' . $password),
);

$result = file_get_contents($url. $params , false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => implode("\r\n", $header),
'content' => $file_data,
)
)));

こんな感じでどうでしょう?

匿名質問者

回答ありがとうございます!
ただ、投稿が反映されません…

2012/09/29 13:59:04

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません