ベッドに謎の膨らみ
敷パッドの下にもぐって眠っていた著者
在宅プログラマーの備忘録として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系)