[PHP] PHPスクリプトから include_path を追加する方法

PHPプログラムからrequire/includeの検索パス(include_path)を上書き、追加するには、set_include_path()を使います。

例えば、ディレクトリ “/path/to/include/” をrequireの検索対象に追加する場合は以下のようにします。

<?php
set_include_path(get_include_path().PATH_SEPARATOR."/path/to/include/");

または ini_set()を使う方法もあります。

<?php
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '/usr/lib/pear');

get_include_path() や ini_get(‘include_path’) は、今のinclude_path 設定を取得している関数呼び出しです。
set_include_path() や ini_set() は既存設定を(追記ではなく)上書きするため、追記にするために既存設定を取得して、新しい設定をつなげて足して、追加としています。

PATH_SEPARATOR はPHPの定義済の定数で、include_pathでパスを繋げるための文字が入ります。
(Windowsならセミコロン、Mac OSやLinuxならコロンが入ります)

table から div へ

  .tr{ clear:left; }
  .td{ float:left; }

と指定すれば、

 <div class=”tr”>
     <div class=”td”>foo</td>
     <div class=”td”>boo</td>
 </div>

のように簡易的に列揃えの疑似テーブル構造ができます(行揃えはなし)。
過渡期の置き換え作業の際はこのように td, tr クラスを作るのもいいかもしれません。
 
参考:
– CSS による段組(マルチカラム)レイアウト講座
– CSSリファレンス(実験室:P)
– テーブルを使わずにCSSでいこう

簡単にゼロで埋めて桁を揃えるには

PHP で数値から文字列に変換する時、ゼロで埋める事で桁揃え(MySQL でいうところの zerofill)したい、ということがたびたびあります。
この時、簡単な方法として sprintf が利用できます。

echo sprintf(‘%06d’, 123); // 6 桁未満の場合は 0 で埋める。
echo “\n”;
echo sprintf(‘%06d’, 1234567); // 6 桁以上の場合はそのまま文字列にする
結果:
000123
1234567

CUI で CD-ROM 等をイジェクトする

eject というコマンドを使うと、CUI で CD を出し入れできます。
何が便利というわけではありませんが、次の用途にいいんじゃないでしょうか。
 
1. CD を用いるインストーラでユーザビリティ向上
2. ビープ音の代わりに、何かを通知するのに用いる。

sleep 180 && eject

3. リモートから実行して近くにいる人にいたずら
参考:
– Manpage of EJECT

Linux を日本語化するためには

/etc/sysconfig/i18n の LANG, SUPPORTED を例えば次のようにします。

LANG=”ja_JP.eucJP”
SUPPORTED=”ja_JP.eucJP:ja_JP:ja”

これで、メッセージが日本語化されます。
man のバイナリがつぶれて表示できなくなった(less がバイナリ文字列をエスケープしている)場合、
/etc/man.config
を編集して

PAGER /usr/bin/less -isr

のように、-r オプションを付けるか、日本語対応の less (jless)に置き換えてください。

PHP2HTML

– PHP コード変換機(phpspot.net)
オンラインツール。PHP の文法を解釈して、PHP ソースコードを読みやすいように色づけした HTML を生成してくれます。
PHP のビルトイン関数については、phpspot の関数マニュアルページにリンクされます。

Emacs 編集基本

– カーソル上の文字を削除する。

Ctrl + d
または
delete

 Backspace も使用可能です。このあたりは、説明の必要はないでしょう。
 
– カーソルから行末まで削除する。

Ctrl + k

 カーソルが行末にある時は改行を削除します。
 
– 複数行を削除する。

削除開始位置で
Ctrl + Space
として(マーク)、削除終了位置で
Ctrl + w

 
– コピー(キルリングに保存)する。

コピー開始位置で
Ctrl + Space
として(マーク)、コピー終了位置で
Alt + w

vi でいうところの y キーと同じようなものですね。
 
– 最後に削除(あるいはキルリングに保存)したものを張り付ける(ヤンクする)。

Ctrl + y

 Emacs では vi 同様、削除 = カット(切り取り)となっています。
 
– 矩形削除する。

Ctrl + Space
Ctrl + x r k

ここで削除したものはコピー状態にはなりません。
 
– アンドゥ

Ctrl + –
または
Ctrl
または
Ctrl + x u

Undo, Redo の切替えには

Ctrl + g

を使います。
 
参考:
– With Emacs Next – 5.4 基本的な編集操作
– Emacs tips