【PHP8】create_function を eval に置きかえる

以前も書きましたが、既存システムのPHP8対応の依頼を受けることが増えてきました。

PHP8ではcreate_functionが使用できなくなりましたので
代わりにevalを使用します。

コードを文字列として動的に生成して実行したい場合などで
create_functionを使用していた方もいると思います。

evalで同じことができます。

【PHP8】while – each を foreach に置きかえる

既存システムのPHP8対応の依頼を受けることが増えてきました。

PHP8ではeachが使用できなくなりましたので

のような構文はforeachに置きかえます

Linuxでunzipしたら文字化けするときの対応

Windowsで作成されたzipファイルをLinuxでunzipすると
日本語のファイル名が文字化けすることがあります。

対策1:エンコード
unzipの-Oオプションを使ってエンコードを指定すれば解決する場合があります。

対策2:unar
しかし、対策1でも解決しないケースや、元のエンコードが不明な場合は
unzipの代わりに、エンコードを自動判別してくれるunarを使いましょう。

unarがインストールされていなければ

(CentOS系)

【canvas】canvasで普通の矢印を描く(実線、破線)

canvasで普通の矢印を描きます。
ポイントは
・デザインに凝ってない単純な矢印。
・三角関数を使って任意の向きに。
・線の部分を破線にできる。

まずcanvasエリアを用意

矢印描画関数を作る

関数を呼ぶ

実行結果