読了: 約 4 分
独断と偏見で自分が良く使うコードをまとめて行こうかなと思います。
概要
目的を選ぶ
・file_get_contents で UA を変更して携帯サイトの内容を取得する方法
file_get_contents で UA を変更して携帯サイトの内容を取得する方法
・smartyでforeachしている箇所のゼブラデザイン
[PHP,Smarty] テーブルのtr背景色を偶数、奇数で交互に切り替える
・PCとiPhoneでUAを切り替える方法
[PHP,Smarty] PCとスマートフォンのUAを切り替える方法
file_get_contents
file_get_contents で UA を変更して携帯サイトの内容を取得する方法
これはご存じの方も多いかと思いますが、
他のページのコンテンツをそのままそっくり持ってくる事が出来ます。
<?php $content = file_get_contents('http://www.example.com/'); echo $content; ?>
例えばこれでサテライトサイトなどで流用したいだとか、
この広告のsectionを他サイトで流用したいだとかそんな事も可能です。
恐らく他のサイトは著作権で行けないような気がしますが、
どうなのでしょうか。
PHPのマニュアル
PHP Manual
ウェブルさんはWordpressを駆使して、Webサービスを創り、
PHPもご自分で書かれているようで、非常に参考になります。
smartyでforeachしている箇所のゼブラデザイン
ソースはたったこれだけ。
{[if $smarty.foreach.bgc.iteration%2 == 1]} bgcolor="#efefef"{[/if]}
この他にもcycleという関数を使っても交互に色を染める事が出来るようです。
[PHP,Smarty] テーブルのtr背景色を偶数、奇数で交互に切り替える
【参考】
IT系エンジニア兼経営者の備忘録
PCとiPhoneでUAを切り替える方法
スマホ最適化する上で重要ですよね。
コードは下記をご参照ください。
PHPでの記述
<?php $ua=$_SERVER['HTTP_USER_AGENT']; if((strpos($ua,’iPhone’)!==false)||(strpos($ua,’iPod’)!==false)||(strpos($ua,’Android’)!==false)) { header(“Location:/sp/index.php”); exit(); } ?>
<?php if($browser == 'iphone'){ ?> <link rel="stylesheet" type="text/css" href="./layout/iphone.css"/> <?php }else{ ?> <link rel="stylesheet" type="text/css" href="./layout/pc.css" /> <?php } ?>
下のサイトはPHPとJavaScript、htaccessで切り替える方法が載っているので
おススメです。
時間が出来たら、このサイトもスマホ化していきます。
他分岐の方法
if(preg_match('/iPhone|iPod|iPad|Android/i',$_SERVER['HTTP_USER_AGENT'])){ A }else{ B }
追記:2012/02/22
PHPでユーザーエージェントを切り替えて、if文でpc,iphone用のを分岐するというのはやめて
メディアクエリを使って解像度で判断させるようにしました。
メディアクエリの記事も後々書きたいと思います。
※一応スマホ化させましたが、デザインまで作り込んではありません。
引用:
iPhone用にCSS/PHP/JavascriptでCSSを切り替える基本的な方法
ユーザーエージェントによってPCとスマートフォン(iPhone / Android)を振り分ける方法いろいろ(PHP / JavaScript / .htaccess等)
ブログにソースコードを張り付ける
wpのプラグインであったので万事解決しました。
上記のソースコードで使用しております。
使う度に追記していきます。
今度の追記予定としては、
スマートフォンでUAを切り替える方法等です。
スクロールが長くなった時がPHPをマスターしている時かもしれません(笑)
それではまた。