PHPでトラックバックの送受信(追加)
Posted by Koumei on 7月 23, 2010 in webプログラミング |
送る場合は、ソケットをfsockopenして、適当なヘッダ(無視されないため)を付けたPOSTデータをfputsする。
POSTするのは、前の記事に書いた4つである。
沢山サンプルがあるので、検索するとすぐに見つかるだろう。
受ける側は、$_POSTで各項目を受け、いくつかのチェックを行う。
相手のURLのページを読み込むのは次のように書く。
$buff = @file_get_contents($url);
$urlに日本語やスペースがある場合はurlencode()する必要があるが、URLの部分をエンコードするとうまく読み込めない。
また、条件を統一するために、読み込み前にいくつか設定しておくと良いかもしれない。
ini_set('allow_url_fopen', 1);
ini_set("user_agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
ini_set('default_socket_timeout',60);
概要の中や相手ページに日本語があるかチェックするのは、次のように書く。
if(!preg_match('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+/u', $buff)){
日本語がない場合の処理
}
相手に戻すのは単純に作成したxml部分をechoで返すだけ(他にechoしない)である。