«« QRコードと短縮URLサービスbit.ly | FenrirFSはiTunes感覚で素早くファイルが探せる »»

携帯百景とPHPとRSS

2010年4月12日

このエントリーをはてなブックマークに追加 Clip to Evernote
携帯電話で撮影した画像を撮影するには、携帯電話+携帯百景+RSSreaderlib+それらを連携するスクリプトの組み合わせがおすすめ。ということで、ちょっと長くなりますが連動するphpコードも含めて携帯百景との連動テクニックを一挙公開します。


今携帯電話で撮影した写真を、すぐに自分のホームページに載せたい場合にはどうすれば良いでしょうか?


This picture image is from wikimedia commons.

例えばもしあなたが店員さんなら店に届いたとっておきの商品画像を直ぐにアップしたいでしょうし、動物ずきなら可愛い素振りを見せた一瞬は早く自慢したいもんでしょう。
しかし、ここでわざわざ職場(家)のPCまで管理者画面を立ち上げる為に戻らないといけないのであればテンションがガタオチです。

そこで私の提案は、携帯メールと携帯百景に、RSSreaderlib(+アルファ)を組み合わせて、素早く写真を公開しよう!という提案です。

※注意:なおPHP4を用いますので、毎度ながら対応するサーバと若干の知識が必要です。

・メールを使った写真更新のメリット

メールを使った更新は、先に記述しました通りパソコンをワザワザ起動しなくても更新できますので、機動性が高いのがメリットの一つ。
また携帯電話のメールは電波状態が悪い状態でも、良くなったタイミングを見計らって送信をしてくれます。
ですので、ど田舎や地下鉄・建物の中でも、比較的手軽に更新しやすい!というのもメリットですね。

・携帯百景のススメ

メールで写真を投稿できるwebサービスは色々あります。
今回ご紹介するのは、無料で利用できる携帯百景

http://movapic.com/

なんと外部サイトと連携できるように、利用者事に最新の投稿内容をRSSで配信しています。
このRSSを自分のホームページになんとか取り込む仕組みを導入できれば、自分のホームページを最新の写真でPRできるわけですよね!
そこで、その仕組に私が作成したRSSreaderlibも組み合わせて導入しましょう。

手順としましては、

1.携帯百景のアカウントを取りましょう。

2.写真を貼り付けたい位置に、RSSreaderlibを呼び出すphpのコードを貼りつけましょう。
サンプルコードはページの末尾があるので参考にしてください。

3.このままですと、読み込んだ画像がでかすぎるので対策を打ちます。
更に下にサムネイルを作成するプログラムと、下記に書いているRSSreaderlibと連動するphpのコードを組み込みます。

これで、最新の写真をRSSから必要部分を抜き出し受信して表示されますので、完成!という流れです。

・サムネイルを作成するには

デザインもこだわりたい。でも携帯百景で取得する画像がデカすぎる!
そんな時はサムネイル作成ライブラリも実装して、画像をデザインに合わせて貼りつけよう。

そんな時にオススメするのが『phpThumbnailer』です!

http://phpspot.org/blog/archives/2007/02/phpphpthumbnail.html
PHPで画像のサムネイルを超簡単に作る方法「phpThumbnailer」:phpspot開発日誌

詳細はリンク先を参照していただくとして、new Thumbnail("<<ファイル名>>", <<横幅>>, <<縦幅>>, 0);という簡単さでサムネイルを作成出来るお手軽さが魅力!

・まとめ

ということで、今まで記述したことについて具体的にはどう書くのか?
サンプルコードを書いてみたのが、こんな感じです。


<?php

/**
 * 携帯百景から最後に投稿された画像を呼び出すプログラム
 */

require_once "[[RSSreaderlibの組み込み先]]/RSSreaderlib/RSSreaderlib.php";
$HyakkeiReader = new RSSReader(CALL_MAKE_TEMPFILE_FOLDER, "[[RSSreaderlibが読み込んだRSSファイルのキャッシュ先]]");
$HyakkeiReader -> RSSReader(
  'utf-8',
  '[[MagpieRSSの組み込み先]]',
  'http://movapic.com/feed/user/[[携帯百景のユーザID]]'
  );
$max = ($HyakkeiReader -> getContentsCount() > 1) ? 1: $HyakkeiReader -> getContentsCount();

for($i = 0; $i < $max; $i++) {
	preg_match("/http[\x23-\x7E]+/", $HyakkeiReader -> getContentsSummary($i),$j);
	$HyakkeiComment[$i] = $j[0];
	$HyakkeiText[$i] = str_replace("[[携帯百景のユーザID]] - ","",$HyakkeiReader -> getContentsTitle($i));
}
?>

(画像)

<?php echo $HyakkeiText[0]; ?>

以上が、RSSからの読み込みに関して処理する部分です。
このままでは、先述の通り最近の携帯は過剰に解像度が高いですし、たぶんロードする画像が大きすぎでしょう。
そこで、サムネイルを作成するプログラムもあわせて実装します。


<?php

/**
 * サムネイルを作成するプログラム
 * image_resize.php
 */

include("[[phpThumbnailerの保存先]]");
$ir_temp = "[[サムネイル作業用保存先]]";
$changedomain = "[[サムネイルが表示できない時のスペーサー保存先]]/spacer.jpg";

$filename = $_GET["file"];
$width = $_GET["width"];
$height = $_GET["height"];
$okdomain = array("image.movapic.com", "[[ホームページのドメイン]]");

$checkdomain = FALSE;
for($i = 0; $i < count($okdomain); $i++) {
	if (strpos($filename,$okdomain[$i]) > 0) {
		$checkdomain = TRUE;
		break;
	}
}
if($checkdomain == FALSE
  or strlen($filename) == 0
  or $width == 0
  or $height == 0
  ) { $filename = $changedomain; }

$pathinfo = pathinfo($filename);
$extension = ".".$pathinfo['extension'];
$ir_temp = str_replace($extension, md5($filename).$extension, $ir_temp);

image_resize($filename, $ir_temp, $width, $height);

exit;

/**
 * サムネイル作成本体部分
 * 
 * @param	string		ファイル名
 * @param	string		テンポラリファイル
 * @param	integer		横幅
 * @param	integer		縦幅
 * @return	void			なし
 */
function image_resize($filename, $tempfile, $width, $height) {
	copy($filename, $tempfile);
	$HyakkeiImage = new Thumbnail($tempfile, $width, $height, 0);
	$HyakkeiImage->show();
	unlink($tempfile);
}

?>

みたいな感じですかね?
宜しければご参考ください。


携帯サイト コーディング&デザイン
高木 悠介
ソフトバンククリエイティブ
売り上げランキング: 3113
おすすめ度の平均: 5.0
5 もっと早く読めばよかった
4 ほかのタイプと組み合わせてさらに強力な味方にしよう。
4 携帯サイト コーディング&デザイン
5 きちんとした携帯サイトを作りたい人へ
5 携帯サイトに携わる人必携の本


投稿者 kuze : 2010年4月12日 00:00


■このエントリーに関連した記事

■「実用ソフト&サイト」カテゴリの最新記事

«« QRコードと短縮URLサービスbit.ly | FenrirFSはiTunes感覚で素早くファイルが探せる »»


自己紹介
PHPやVBによるコーディングやシステムエンジニアを仕事にしています。
主にiPhoneアプリの紹介やWeb開発などのPC系の話題と、アニメやゲームなどのサブカルな話題を取り扱っています。

[PR]

Twitter
>> その他のtwitter

instagram

カテゴリ

最近のエントリー

最近掲載した画像
  • バーチャルYouTuberのキズナアイちゃんがどうやって動いているのか気になる
  • ニトリで購入した『ひじまでフラットになる座椅子「テリーGY」』は、手すりがやっぱりイイ
  • ニトリで購入した『ひじまでフラットになる座椅子「テリーGY」』は、手すりがやっぱりイイ
  • ニトリで購入した『ひじまでフラットになる座椅子「テリーGY」』は、手すりがやっぱりイイ
  • 音の正規化(ノーマライズ)は、無料でこなそうとしたら未だ面倒
  • Panasonicの冷蔵庫「NR-B149W-S」で静音を取り戻した!
  • クラタスvsメガボッツ戦見たけど、現実世界巨大ホビーロボについては日本文化じゃなくなるかも(ネタばれ)
  • (現在作業中)ブログをレスポンシブデザインに適応させるためにしていること
  • (現在作業中)ブログをレスポンシブデザインに適応させるためにしていること
  • (現在作業中)ブログをレスポンシブデザインに適応させるためにしていること
  • アパートの鍵穴が壊れたら、鍵屋を呼ばずに不動産屋を呼ぶべき
  • アパートの鍵穴が壊れたら、鍵屋を呼ばずに不動産屋を呼ぶべき

RSS
更新情報はRSSをご利用下さい
サイトマップ