[katyos.Lab]


線・ラインを描いて施設のエリア範囲入りGoogleマップが作れる無料ツール

2012-04-02 14:19:07 Theme: PHPの小技
会社や店のエリア範囲を入りGoogleマップが作れる無料作成ツール
会社や店のエリア範囲を入りGoogleマップが作れる無料作成ツール

仕事で通常のグーグルマップに施設のエリア範囲を表したラインを引きたいということで自分用にツールを作りました。
マップにラインを引くには緯度・経度を1つずつ取得しないといけないので凄い大変です。このツールを使うとクリックで線をかけますので簡単です。
作ったマップの設置は、コードをコピーして貼りつけるだけで表示されます。
AD
いいね!した人  |  Comments(0)  |  リブログ(0)
最近の画像つき記事
 もっと見る >>

PCサイトのURLを自動で変更してスマートフォンサイトにリダイレクトする方法

2012-03-26 13:26:29 Theme: PHPの小技
最近、スマートフォンサイトの制作が急激に増えてきました。
スマフォサイトを公開後に必ず必要になってくるリダイレクトですが、全てスマフォサイトのトップに転送するだけなら簡単なのですが、同じページに転送してあげたほうが親切ですよね。
そこで、PHPでPCサイトにアクセスしたときにディレクトリだけ違うスマートフォンサイトにリダイレクトした際に自動でURLを変更して転送する方法を紹介!

PHPでアクセスしている端末のユーザーエージェントを取得してiPhoneやAndroidを判別する方法は以下のサイトを参考にしました。
Web サイトのスマートフォン最適化: UA 判別篇

PCサイトのURLを自動で変更してスマートフォンサイトにリダイレクトする方法

PCサイトURL:http://hogehoge.com/
スマフォサイトURL:http://hogehoge.com/sp/
へリダイレクトする場合

ファイル名も同じにしないとうまくリダイレクトできません。

ob_start は、ファイルの一番最初に書いてください。
なくても良いのですが、header()は「なにか表示した後」に動作させようとすると動きませんので、ページの途中で動作させたい場合は必ず先頭に書いてください。


ob_start();

function is_mobile () {
    $useragents = array(
      'iPhone',         // Apple iPhone
      'iPod',           // Apple iPod touch
      'Android',        // 1.5+ Android
      'dream',          // Pre 1.5 Android
      'CUPCAKE',        // 1.5+ Android
      'blackberry9500', // Storm
      'blackberry9530', // Storm
      'blackberry9520', // Storm v2
      'blackberry9550', // Storm v2
      'blackberry9800', // Torch
      'webOS',          // Palm Pre Experimental
      'incognito',      // Other iPhone browser
      'webmate'         // Other iPhone browser
    );
 
   $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, htmlspecialchars($_SERVER['HTTP_USER_AGENT']));
}


$array = parse_url(htmlspecialchars($_SERVER["REQUEST_URI"], UTF-8));
$sp_url = 'http://' . htmlspecialchars($_SERVER["HTTP_HOST"]) . '/sp' . $array[path];

if (rd_is_mobile()) {
 header( "Location: " . $sp_url); 
}


スマフォサイトをデザインするときに参考になるデザインを集めたサイトを運営していますのでよかったらスマートフォンサイトをデザインするときに参考にしてみてください。
また、初心者でも分かるスマートフォンサイト制作のまとめもありますので参考にしてください。
AD
いいね!した人  |  Comments(0)  |  リブログ(0)

MTで同じ日に投稿されたマルチブログの記事を取得してブログ内に表示する

2012-03-17 17:37:16 Theme: PHPの小技
MTで複数のブログがあって同じ日に投稿された記事を取得して記事内の最後に挿入したいと思って、簡単にできる方法を調べたが良いやり方がなかった。
そこで、色々考えてなんとか実現できたのでメモ!

マルチブログで同じ日に投稿された記事を取得して記事内にリスト表示する


1.アーカイブテンプレートで日別アーカイブを作ります
日別アーカイブには、リスト表示されるようにリンク付きのタイトルを書きます。
これを、他のブログでも行います。
<mt:entries lastn="0">
<li><span><$mt:entrydate format="%Y/%m/%d"$></span>
<a href="<mt:EntryPermalink>"><mt:EntryTitle /></a>
</li>
</mt:entries>


2.各ブログの日別アーカイブ読み込む
システムメニューのグローバルテンプレートのテンプレートモジュールで各ブログの読み込む日別アーカイブを管理できるようにします。
考え方としては、今閲覧している記事の日付を 2012/03/17/ のような形で取得します。
そして、ブログごとにディレクトリ名と連結すれば日別アーカイブのパスを作ることができます。
このパスを利用してPHPでインクルードしてくればリストで表示することができます。

<h4>同じ日に投稿された記事</h4>
<mt:SetVarBlock name="kokaibi"><$mt:entrydate format="%Y/%m/%d/"$></mt:SetVarBlock>
<?php
$upday = '<mt:var name="kokaibi">';
?>

<ul>
<?php
$file = "/home/hoge/www/hoge/" . $upday . "index.php";

if (file_exists($file)) {
 @include($file);
}
?>
</ul>


3.グローバルテンプレートを読み込む
最後に、ブログ記事のテンプレートで表示したい場所にグローバルテンプレートを読み込みます。
<$MTInclude module="同じ日の記事"$>


今回は単純に上から読み込んだ順番ですが、これを応用すればランダム表示にすることも可能です。
結構手間なのでもっと他に良い方法があったら教えてください。
AD
いいね!した人  |  Comments(0)  |  リブログ(0)

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。