【メモ】 mkdirのrecursive 【PHP】

PHP5ではmkdirにrecursive(再帰的にディレクトリを生成する)が実装されているらしい。 マニュアル読んで初めて知ったw 例えば、以下のようなディレクトリ構造を作成したい場合、 (a, b, cとも存在しないディレクトリ、十分なパーミッションがあるものとする)

/a/b/c
次のように書けば実現できる。
mkidir('/a/b/c', 任意のモード, true);
mkdirなんて改めてマニュアル読んだりしないからなぁ。 マニュアル読むのって大事ね。 PHP: mkdir – Manual

続きを読む

【PHP】 考えてみたらPHPのmemory_limitは負荷軽減に関係ないな

2. PHPのメモリ割り当てを変更した いくらメモリに余裕あってもさすがにそんなに割り当てる必要はないだろJK…ということで減らした。
memory_limit = 32M ← 変更前:256M
 
先日、某サーバがいっぱいいっぱいになって突貫対応したんだけど、そのときついでにPHPのメモリ制限をきつめに変更した。んで、今日色々と調べてたら更新系のスクリプトがいくつか動いて無くて、結局メモリ食い過ぎるためだということが判明。

続きを読む

【メモ】 PEARでPEAR_Frontend_WebをupgradeしたらRemote.phpが無いって怒られた

色々ついでにアップしておこうと思ってインターフェイスからupgradeしようと思ったら、順番の問題なのか上手くupgradeが終了せずに怒られた。

Warning: require_once(PEAR/Remote.php) [function.require-once]: failed to open stream: No such file or directory in /hoge/PEAR/Frontend/Web.php on line 35 Fatal error: require_once() [function.require]: Failed opening required ‘PEAR/Remote.php’ (include_path=’/hoge/PEAR’) in /hoge/PEAR/Frontend/Web.php on line 35

続きを読む

【PHP】携帯用絵文字の入力を簡単にするライブラリ案

携帯サイトで頭の痛いことと言えばまぁもういくつもあるわけですが、そのうちの1つが絵文字です。日本国内向け携帯サイトを作る上で絵文字は避けられないにもかかわらず、主要3キャリアがそれぞれ好き勝手に拡張して実装してきたという事情から、Googleはんがとりまとめるっていう話になった今でもなんだかいろいろとアレで。

絵文字ってなに?そう聞かれても多くの人は、ああ、それはと答えられるはず。そう言えばちょっと前に『メールのハートマークにだまされるな! 8割の女性は「恋人以外にも使う」』(RBB NAVI)なんていうニュースもありました。携帯電話の個人普及率が9割を上回る(平成20年内閣府消費動向調査)この国において、絵文字はごくありふれたものになっている現実があります。  2008年の11月27日、Googleが携帯電話で使われる絵文字を国際的な文字コード規格、Unicodeに収録しようというプロジェクト進行中であることを発表しました。では、このニュースは何を意味するのでしょう。そして私たちに何をもたらすのでしょう。今回から3回に分けて考えてみようと思います。
 
実際にGoogleによるマッピングが完璧に行われてみんな幸せになれれば良いんですけど、まぁそれにはまだしばらくかかりそうだってことでやっぱりプログラムの方で対応させなくちゃいけないのよねっていう。

続きを読む

さくらインターネットとxamppでPHPからSQLite3を使う

SQLiteでCREATE TABLEしてもどうもDEFAULR CURRENT_TIMESTAMPがきかないんでおかしいなーと思ってたら、CURRENT_TIMESTAMPはSQLite2ではサポートしてないそうです。そうなのか。じゃあSQLite3でやればいいじゃないと思ったんだけど、さくらインターネットの場合普通にSQLiteDatabaseとか使って接続するとSQLite2になっちゃう。じゃあどうするかっていうと…まぁ、PDO使えば良いんですね。SQLite3目的じゃなくても普通に使うと思いますけども。

さくらインターネットの場合
PDOを使って接続する

続きを読む

【PHP】 APIを使って動画のサムネイルを取得するまとめ 【2009年版】

諸事情により、PHPでサムネイルを取得して表示するプログラムを書いているので、 ついでにYouTubeとニコニコ動画のサムネイルを取得するプログラムをまとめておきます。 (以前書いたエントリの再まとめおよび更新版です)

以前書いたエントリ

YouTube API を使ってみる。 ニコニコ動画APIを使ってサムネイルを取得する。

続きを読む

PEAR::Net_UserAgent_Mobileを使う。

アクセスしてきたユーザが携帯かどうかは、正確にやるならIPアドレスで判断ということになるけど、 ある程度緩くても良いって言うんであればUserAgentで判断するのが一般的だと思います。 UserAgentには携帯会社毎にに特徴的な語句が織り込まれているので、 それをキーに正規表現とかで同定した上で、適当に振り分けるとかするわけです…が。 機種はガンガン新しくなるし、仕様も地味に変わっていくし、 場合によっては例外があったり、運営会社が変わってしまったりすることもあって、 はっきり言って面倒。 というわけで、1年半くらい前から、 PEARで公開されているPEAR::Net_UserAgent_Mobileを使っています。 PEAR :: Package :: Net_UserAgent_Mobile ライブラリに依存することで、情報の更新に鈍感になるリスクはあるんですが、 それは自分で作ったとしても同じことなので同じリスクなら楽な方を選ぼうということで。 以下、簡単な紹介。

続きを読む

FlickrをFlashを使って表示する(JW Image Rotator)

moblogの更新に合わせて右上のFlickrの表示を変えてみました。 基本的には以下のロジックで動いています。

  1. Flickrから自分の写真データの最新100件を取得する
  2. 取得したデータをJW Image Rotator用のプレイリストとして書き出す
  3. プレイリストを読み込んでランダムで表示
この方法のメリットは、写真の表示に関わる部分をJW Image Rotatorが面倒見てくれることです。 ランダム表示とか、写真のリサイズとか。 以下、関連するプログラムのコードを部分的に載せておきます。

続きを読む