builtin function

ビルトイン関数 - 詳細

Category: builtin_function/device/_component

_callback_mobile_buffer()

モバイル用に文字エンコード変換。ヘッダー出力も行う。

関数

string _callback_mobile_buffer (  string $buf=null )
モバイル用に文字エンコード変換。ヘッダー出力も行う。
パラメータ

第1引数: string $buf=null
戻り値

string
説明

※独自関数のis_au()を利用。
* mobile_buffer()の中で呼び出されることを想定。

2012/02/06 xirasaya: memo:
Content-Lengthの取得方法について
出力ストリームに渡される文字列はcallback関数呼び出し後に文字エンコード変換をしている。これら2つの理由からob_get_length()は使えない。
文字列の長さを取得するstrlen()は日本語が入ってくるとphp.iniの設定でオーバロード関数がON設定になっている場合にmb_strlen()の影響を受けてしまう。
mb_strlen()はマルチバイト文字の一文字は1個として数えられる(PHP公式マニュアルより)。
そのうえmbstring.internal_encodingの影響を受けるので結果がおかしなことになる可能性がある。
よってここではバイト数の取得に「strlen(bin2hex($buf))/2;」を利用する。
なおContent-Lengthにはheader()の出力値や画像そのもののバイト数は含まれない。

002 - 2012/12/30 xirasaya: dispMobile()から_callback_mobile_buffer()に関数名を変更。ヘッダー出力にContent-Lengthを追加。文字エンコード変換以外の変換処理を削除。
001 - 2010/10/14 xirasaya
ソースコード [表示]


[top]