上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Twitterでつぶやく

スポンサーサイト スポンサー広告 トラックバック(-) コメント(-)

twikker[ついっかー](仮)
の作成プロセスです。

前回までの流れ
ツイッターbotのつぶやきワードを追加削除する、簡易的なwebアプリっぽいものを作ってみました
その1:ツイートを簡易DBで管理する
その2:追加処理を追加

その3:追加したワードを削除するフォーム
作成するのは、
・削除するワードを列挙したリスト
・選択されたワードを削除処理するphp

まずは現在登録されているワードを呼び出します。
中にphpを組み込むため、前回で作成した管理画面HTMLファイルの拡張子をphpに変えておきます
twikker.html → twikker.php

組み込むのはこちら

<?php

if( $handle = fopen( 'data.csv', 'r' ) ){
print '<FORM action="sakujo.php" method="post" onsubmit="return submitChk2()"><p><SELECT name="sakujo" size="5" style="width:400px;">';

while( ( $data = fgetcsv( $handle ) ) !== FALSE ){

for( $i = 0; $i < count( $data ); $i ++ ){
print '<OPTION value="'.$data[$i].'">' . $data[$i] . '</OPTION>/n';
}
}

print '</SELECT></p><p><input type="submit" value="削除"></p></FORM>';
}
fclose( $handle );
?>

なんだかごちゃごちゃしていますが、
<FORM>、<SELECT>、<OPTION>タグを使用してワードを羅列しています。
データ元であるdata.csvがfopenに入り、
削除処理するphp(後に作成)sakujo.phpがFORMのaction属性に入ります。

うまくいけばフォームに登録しているワードが列挙されているはずです。
参考:ついっかー

次に削除処理するphpを作成します。

<?php
$postr = $_POST['sakujo'];

if ($postr != null) {
$fp = fopen('data.csv', 'r');
$data = fgetcsv($fp);
fclose($fp);

$fp_w = fopen('data.csv', 'w');
$re_data = str_replace($postr, null, $data);
fputcsv($fp_w, $re_data);
fclose($fp_w);

echo "<p><strong>「".$postr."」を削除しました</strong></p><p><a href=twikker.php>戻る</a></p>";
}

else{
echo "<p>削除失敗</p><p><a href=twikker.php>戻る</a></p>";
}
?>

上から、
・選択し、送信されたワードを取得
・csvから登録されている配列を取得
・配列から選択されたワードを探し出し、null値(なにもなし)と置換
・配列をcsvへ戻す

という感じです。削除できたなら完了のメッセージが、
送信されたワードが空であった場合は失敗のメッセージが出るようになっています。

どうでしょうか。ファイル同士のパスが間違っていなければ処理が完了するはずです。
失敗するとcsvのデータが丸々消えてしまう可能性があるので、
csvは一応バックアップを取っておくことをオススメします(経験者は語る)

ここまできたら一応運用は可能なのではないでしょうか。
次回は編集(ワードを選んで入れなおす)処理を追加してみたいと思います。

関連記事
スポンサーサイト

%E3%83%84%E3%82%A4%E3%83%83%E3%82%BF%E3%83%BCbot%E3%81%AE%E3%81%A4%E3%81%B6%E3%82%84%E3%81%8D%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E5%89%8A%E9%99%A4%E3%80%8Ctwikker%E3%80%8D%E3%80%80%E3%81%9D%E3%81%AE3%EF%BC%9A%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0 Twitterでつぶやく

ツイッターbotのつぶやきワードを追加削除「twikker」 その3:追加したワードを削除するフォーム twitter トラックバック(0) コメント(2)

いつもお世話になってます。
最近この記事を発見しまして、自分のBOTに組み込めないかと試行錯誤させて頂いております。

現在使用しているBOTがEazyBotterさんなんですが、こちらはポスト内容がtxt形式で固定されているためCSVと絡めることができませんでした。

配列でログを取得しているこちらのTwikkerは逆にCSVで固定なので絡め方がわからなくなってしまいましたorz


お手すきの時で結構ですので、もしよろしければテキスト形式バージョンなんかもお教え頂ければ嬉しいです。

今後もがんばってください

2011年01月28日 通りがかりのつぶやき URL 編集

まずはありがとうございます。
なるほど、EazyBotterの仕様はわからないのですが、要はtxt形式でデータを保存しているのですな。
ぼくがCSVを採用したのは、PHPのfgetcsvが単純で分かりやすいからという理由です。
テキストverもちょっと考えてみます。また、ある程度のテンプレートとなるファイルを公開できるよう手配してみますので、それもご参考いただければと思います。

2011年02月01日 ぼっくん URL 編集












管理者にだけ公開する

パソコン工房

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。