カテゴリー別アーカイブ: PHP

HTTPユーザーエージェント文字列の取得するメソッド

WebサイトもUAの端末は多種多様になり、かなりの種類のユーザーエージェントが存在します。
そんなUA文字列を取得するための記述、メソッドについて。

今回はPHP、JavaScript、Perlの3言語の取得メソッド。

[php] $_SERVER[‘HTTP_USER_AGENT’]
[JavaScript] navigator.userAgent
[perl] $ENV{‘HTTP_USER_AGENT’}

PHPの文末最後の閉じタグ?>は不要

一般的な企業では会社ごとのコーディング規約があり、ある一定の方式によってコーディングする約束事があります。

通常、ファイル拡張子がHTMLなどのソースコード中にPHPを記述するときの宣言は、

<?PHP PHP記述 ?>

のように”?>”で閉じますが、ファイル拡張子がphpの場合、
“?>”の閉じタグは記述しないことが推奨されています。
というか記述すべきではない。

これは、PHP宣言のタグ末尾に、空白や改行などが含まれていたばあい、そのまま出力されてしまうのを防ぐためです。

“?>”記述がない場合はPHPのソースコード部のみを実行するので間違いを回避できます。

記述したとしても、それほど大きな不具合はないでしょうが。

ちなみにPHPのコーディング規約といえば[PEARコーディング規約]や[Zend Framework PHP 標準コーディング規約]などが有名です。

PEAR標準コーディング規約
http://www.phppro.jp/phpmanual/pear/standards.html

Zend Framework PHP 標準コーディング規約
http://framework.zend.com/manual/ja/coding-standard.html

XMLデータ内のタグ件数と属性値をループ取得-PHP simplexml_load_file

PHPのsimplexml_load_fileでXMLをパースし、タグ内の属性値、
例えば

<item title=”かっぱ”>

のような場合にtitle属性の”かっぱ”にあたる部分を、7つ取得する。
7件以下の場合は、7件以下の件数分のtitle属性値を取得して表示する場合の記述

<? php
$rssdata = simplexml_load_file(‘http://***.com’);
$arrayCnt = array();
$tcount;
foreach($rssdata -> channel ->item as $acount){
array_push($arrayCnt, (string)$acount);
$rcount = count($arrayCnt);
if($rcnt > 7){
$tcount = 7;
break;
}
}
$tcount = $rcount;
for ($i=0; $i<$tcount; $i++){ print "<h3 class='lcnt-ssec-ttl'>"; print "<div>"; print $rssdata0 -> channel ->item[$i][‘title’];
print “</div>”;

}
?>