浜松市のIT企業 ENS-NET開発日記

WEB開発、VB6、サーバー構築など様々な技術情報公開です。

PHPで更新ping送信

without comments

このブログ(word press)は標準でping送信機能は備えていますが、自前で開発したブログやホームページにping送信機能を

追加したいときもあるかと思います。

PEARのXML-RPCがインストールされていることにより、動作が可能となります。

また、Googleへのping送信はyahooに比べ、1か所のみ異なります。

以下ソースコードとなりますのでご参考にしてください。

<?php

include_once( ‘XML/RPC.php’ );
include_once( ‘XML/RPC/Server.php’ );

//googleにping送信

Ping_Google(“ブログタイトル”,“ブログのURL”);

//google以外

Ping_Send(“ブログタイトル”,“ブログのURL”);

//googleのpingサーバーに送信する
function Ping_Google($site_title,$site_url){

$ping = array(
‘blogsearch.google.co.jp’ => ‘/ping/RPC2′
);

$param = array(
new XML_RPC_Value($site_title, ’string’),
new XML_RPC_Value($site_url, ’string’)
);

$msg = new XML_RPC_Message(‘weblogUpdates.extendedPing’, $param);

foreach($ping as $pingServer => $pingPath) {

$client = new XML_RPC_Client($pingPath, $pingServer, 80);
$response = $client->send($msg);
if(!$response) {
echo “タイムアウト : “.$pingServer.“<br />”;
}elseif($response->faultCode()) {
echo “送信失敗 : “.$pingServer.“<br />”;
}else {
echo “送信成功 : “.$pingServer.“<br />”;

}

}

}

//google以外のpingサーバーに送信する
function Ping_Send($site_title,$site_url){

$ping = array(
‘ping.fc2.com’ => ‘/’,
‘ping.rss.drecom.jp’ => ‘/’,
‘api.my.yahoo.co.jp’ => ‘/RPC2′,
‘blog.goo.ne.jp’ => ‘/XMLRPC’,
‘ping.bloggers.jp’ => ‘/rpc/’,
‘www.blogpeople.net’ => ‘/servlet/weblogUpdates’,
‘www.blogpeople.net’ => ‘/ping’
);

$param = array(
new XML_RPC_Value($site_title, ’string’),
new XML_RPC_Value($site_url, ’string’)
);

$msg = new XML_RPC_Message(‘weblogUpdates.extendedPing’, $param);

foreach($ping as $pingServer => $pingPath) {

$client = new XML_RPC_Client($pingPath, $pingServer, 80);
$response = $client->send($msg);
if(!$response) {
echo “タイムアウト : “.$pingServer.“<br />”;
}elseif($response->faultCode()) {
echo “送信失敗 : “.$pingServer.“<br />”;
}else {
echo “送信成功 : “.$pingServer.“<br />”;
}

}
}

?>

Written by admin

3月 24th, 2010 at 11:29 am

Posted in PHP

phpでAU文字化け対策

without comments

php+smartyで携帯サイトを制作する時、文字コードにUTFを使用していますが、docomo、ソフトバンクは特に問題ありません。

AUだけ何故か文字化けしています。調べてみるとAUはSHIFT-JISのみ対応の為、smartyテンプレートをshift-jisで作成し、

phpでは以下コード追加により改善されました。

【PHP】

mb_convert_encoding($value, “SJIS-win”, “UTF-8″);

【SMARTYテンプレート】

<?xml version=”1.0″ encoding=”SHIFT-JIS”?>

・・・

<meta http-equiv=”Content-Type” content=”text/html;charset=Shift_JIS”>

Written by admin

3月 20th, 2010 at 1:31 pm

Posted in 携帯サイト

docomo,softbank,auなどの環境変数

without comments

PHPでPC、モバイルサイトを作る時、環境変数を取得し、分岐するよう良くコーディングします。

以下イメージです。また、テンプレートにはsmartyを使います。

  • PHP

//環境変数取得

if(strstr($_SERVER['HTTP_USER_AGENT'],”DoCoMo“)){

$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”Vodafone“)){
$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”SoftBank“)){
$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”MOT-“)){
$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”J-PHONE“)){
$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”KDDI“)){
$env = ‘ez’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”UP.Browser“)){
$env = ‘i’;
}elseif(strstr($_SERVER['HTTP_USER_AGENT'],”WILLCOM“)){
$env = ‘ez’;
}else{
$env = ‘pc’;    //PC
}

if ($env == “pc“){

$smarty->display(‘pc.tpl‘);  //PC用テンプレート表示

}else{

$smarty->display(i.tpl’);  //モバイル向けテンプレート表示

}

  • pcの場合は「pc.tpl」を表示し、携帯の場合は「i.tpl」を表示します。

Written by admin

3月 16th, 2010 at 12:44 pm

Posted in PHP

特定健診の結果XML取り込みプログラム

without comments

私が今まで担当した開発案件で一番興味深かったのが都内でお世話になった企業で開発した「特定健診XMLデータ取り込み」プログラムです。

開発言語にはVB5、データベースにはSQLServer2000を使いました。

新規案件ということもあり、業界に対する知識を深めたことを今でも覚えています。

[特定検診HP]

http://tokuteikenshin.jp/index.shtml

写真ではAccess2007を使ったアプリケーションです。

簡単に説明しますと、40~74歳の健康保険に加入している方はお近くの医療機関で特定健診を受けます。

特定健診とは様々な検査を元に、「その方が肥満なのか、健康なのか否か」判断し、例えば結果が悪ければ

そのあとに特定保険指導をさらにうけます。

プログラムでは健診結果を受け取り、判断、受診者が特定保健指導の対象であれば案内を出すことが出来ます。

この案件だけは非常に興味深かったです。

———————————————————————————————————————–

システム開発のご相談、お申込みを承っています。

TEL:053-445-1221 (担当:開発部 具志堅)

e-mail:jim@ens.ne.jp

Written by admin

3月 16th, 2010 at 1:18 am

visual basic6 (VB6)でIE操作

without comments

VB6からHTMLを操作することが出来ます。以前担当した案件で開発したこともありました。

フォームが起動したときに「http://google.co.jp」を立ち上げるようにします。

1.【参照設定】⇒Miscrosoft Internet Control をクリックします。

2.formに以下を追加します。

Private Sub Form_Load()

Dim objIE   As InternetExplorer

Set objIE = CreateObject(“InternetExplorer.Application”)

With objIE

.Navigate2 = “http://google.co.jp”

While .ReadyState <> 4 Or .Busy = True
DoEvents
Wend

.Visible = True

end with

end sub

3.これでF5キーでプログラムを立ち上げ、googleが表示されます。

後日、フォームやリンクボタン操作な述べようかなと思います。

Written by admin

3月 15th, 2010 at 7:38 pm

Posted in Visual Basic6

Debianでapache2構築

without comments

昨年、新しいDELLサーバーにDebian lenny(Linuxディストリビューション)をインストールし、本格的なサーバー運用を始めました。

ここではDebian lennyにWEBサーバー(Apache2)、perl、php、mysqlのインストール手順を掲載します。

Apache2のインストール

  • コマンド)# aptitude install apache2-mpm-prefork

インストール終了です。次に設定ファイルを修正していきます。

1./etc/apache2/conf.d/charset

DirectoryIndex index.html index.htm index.shtml index.cgi index.php (追加)

※phpやcgiを使用しない場合はindex.cgi index.phpを追加する必要がありません。

$ sudo /etc/init.d/apache2 restart

PERLのインストール

$ apt-get install perl

PHPのインストール

$ aptitude install php5

$ aptitude install libapache2-mod-php5

$ aptitude install php5-mysql

$ install mysql-server

$ aptitude install php5

aptitude install php5
aptitude install libapache2-mod-php5
aptitude install php5-mysql
aptitude install mysql-server

Written by admin

3月 9th, 2010 at 12:06 pm

au,docomo,softbank携帯向けサイトデザイン

without comments

携帯サイト制作する上で欠かせないのがCSSです。

通常のPCではCSSを外部から読み込んだり、あるいは直接<head></head>間に追加したり、そこでいざdocomoで確認すると

  • 外部CSSは使用不可、headタグ内にソース埋め込んでも無効になる。

ことが判明しました。ところが最近機種ではCSS対応は出来ているものの、上記を踏まえて、

  • <div>タグにstyle属性追加。例)<div style=”background-color:#000000;text-align:center”>
  • 文字装飾は<span>タグで対応。例)<span style=”color:#FA79B9; font-size:small;”>

少し面倒ですがいずれ、全ての機種が外部CSSに対応出来れば携帯向けテンプレートもかなり柔軟性が上がるかと思いますね(^-^;

Written by admin

3月 9th, 2010 at 11:51 am

Posted in 携帯サイト

php+smartyで携帯サイト構築

without comments

PC、モバイルサイトの構築にphp+smartyを使用しています。

開発にはphp、データベースにはmysqlを使い、pc側は特に問題がないですが、softbank、docomoでは正常に表示するのにAUだけ文字化けします。

調査の結果、auは文字コードSHIFT-JISのみ対応の為、htmlテープレートはUTF-8で記述していました。

以下のように修正で改善すること成功。

1.htmlテンプレート

  • xhtml :<?xml version=”1.0″ encoding=”shift-jis”?>
  • metaタグ:<meta http-equiv=”Content-type” content=”text/html; charset=Shift_JIS”>

2.phpからmysql呼び出し

  • データベースの文字コードがUTF-8の為、1行取得ごとにSJISに変換する処理を追加。
  • mb_convert_encoding(“取得した行”, “SJIS-win”, “UTF-8″);

Written by admin

3月 7th, 2010 at 2:42 pm

Posted in 携帯サイト

浜松市のIT企業、ENS-NETのご紹介

without comments

ENS-NETの技術・開発部の具志堅です。
IT情報をはじめとするトピックや、趣味&ネタを掲載していこうと思います。
サーバー構築ノウハウや開発話まで様々。

個人的にVisual Basic6、.NETを使ったデスクトップアプリ開発が趣味です。

Written by admin

2月 22nd, 2010 at 9:01 am

Posted in その他