前回載せた送信処理を改造しました。
なぜなら、無料レンタルサーバーでは、送信できないからです。
セキュリティーでひっかかり送信できませんでした。
送信できない処理を改造して送信可能にしました。
前回のソースと合わせれば使用可能です。
問題になったのは、file_get_contents関数です。これが、phpのセキュリティーにひっかかり送信できませんでした。レンタルサーバーのため、php.iniファイルの修正もできず、探しに探して、改造しました。
これでレンタルサーバーからでもpingできます。
お試し下さい。
phpなんて使えないって方には、私のサイトをご利用下さい。
サイトとしてpingサポートサイトを作りました。もちろん無料!
登録してボタンを押すだけでping送信できます。
URLからの自動アクセス送信機能も付けました。
登録後は、URLを貼り付けて実行のみで、送信可能です。
以下pingサイトです。
MyPing
なぜなら、無料レンタルサーバーでは、送信できないからです。
セキュリティーでひっかかり送信できませんでした。
送信できない処理を改造して送信可能にしました。
前回のソースと合わせれば使用可能です。
function fsend($blog_name,$blog_url,$ping_servers) {
//url重複回避 $ping_servers = array_unique($ping_servers); // weblogUpdates.pingのXMLデータ $content = '<?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>weblogUpdates.ping</methodName> <params> <param><value>'.$blog_name.'</value></param> <param><value>'.$blog_url.'</value></param> </params> </methodCall> '; //print $content."xxxxx<br>"; $headers = array( 'Content-Type: application/xml', 'Content-Length: '.strlen($content) ); $context = stream_context_create( array( 'http'=>array( 'method'=>'POST', 'header'=>implode( "\r\n", $headers ), 'content'=>$content ) ) ); foreach($ping_servers as $ping_server){ $http_response_header = null; // print "[".$ping_server."]<br>"; $conn=curl_init(); curl_setopt($conn,CURLOPT_CONNECTTIMEOUT,2);// 試行待ち時間 curl_setopt($conn,CURLOPT_FOLLOWLOCATION,1);// Locationヘッダをたどる curl_setopt($conn,CURLOPT_RETURNTRANSFER,1); // curl_exec() の返り値を文字列で返す curl_setopt($conn,CURLOPT_HEADER,TRUE); // ヘッダの内容も出力 # curl_setopt($conn,CURLOPT_USERAGENT,$context);// USER_AGENTを設定 curl_setopt($conn, CURLOPT_URL, $ping_server); // ping送信先URL $res = curl_exec($conn); curl_close($conn); echo $ping_server,"...",$res,"<br>"; // $response = file_get_contents($ping_server,false,$context); // echo $ping_server,"...",$response,"<br>"; }; } |
これでレンタルサーバーからでもpingできます。
お試し下さい。
phpなんて使えないって方には、私のサイトをご利用下さい。
サイトとしてpingサポートサイトを作りました。もちろん無料!
登録してボタンを押すだけでping送信できます。
URLからの自動アクセス送信機能も付けました。
登録後は、URLを貼り付けて実行のみで、送信可能です。
以下pingサイトです。
MyPing
0 件のコメント:
コメントを投稿