ベッドに謎の膨らみ

敷パッドの下にもぐって眠っていた著者


在宅プログラマーの備忘録として2005年に始めたブログです。
ベッドに謎の膨らみ

敷パッドの下にもぐって眠っていた著者

以前も書きましたが、既存システムのPHP8対応の依頼を受けることが増えてきました。
PHP8ではcreate_functionが使用できなくなりましたので
代わりにevalを使用します。
コードを文字列として動的に生成して実行したい場合などで
create_functionを使用していた方もいると思います。
|
1 2 |
$func = create_function("", "return $code;"); return $func(); |
evalで同じことができます。
|
1 2 |
eval('$ret = ' . $code . ';'); return $ret; |
サイズが合ってなくても気にしない著者

既存システムのPHP8対応の依頼を受けることが増えてきました。
PHP8ではeachが使用できなくなりましたので
|
1 2 |
while(list($key, $value) = each($data)) { } |
のような構文はforeachに置きかえます
|
1 2 |
foreach($data as $key => $value) { } |
Windowsで作成されたzipファイルをLinuxでunzipすると
日本語のファイル名が文字化けすることがあります。
対策1:エンコード
unzipの-Oオプションを使ってエンコードを指定すれば解決する場合があります。
|
1 |
unzip -Ocp932 (zipファイル) |
対策2:unar
しかし、対策1でも解決しないケースや、元のエンコードが不明な場合は
unzipの代わりに、エンコードを自動判別してくれるunarを使いましょう。
|
1 |
unar (zipファイル) |
unarがインストールされていなければ
|
1 |
yum install unar |
(CentOS系)