揮発性のメモ2

http://d.hatena.ne.jp/iww/

PHP

静的メンバ変数に、変数名の文字列でアクセスする

PHP

動的メンバ変数に 変数名の文字列でアクセスするには、$chinko->$name とかみたいに 適当に矢印の先に変数を指定すればその変数に入ってる文字列を変数名と見なしてくれる。 hoge ."\n"; // 普通に hogeにアクセスできる $name = "hoge"; print $chinko->$na…

PHPで、配列の最後尾の値を取得する

PHP

array_pop() や end() を使うと配列の最後尾の値を取得できる。 ただし、関数の戻り値を使うことは許されないらしい。どちらも配列を参照して配列自体をいじるため、実体が必要だから https://www.php.net/manual/ja/function.end.php https://www.php.net/m…

xamppのアンインストール

インストール先フォルダにある unsintall.exe を実行でアンインストールされる。ただファイル消すだけなのになんでそんなに時間かかるの? バグった? って思うほど時間かかるので注意する インストールは C:\ にする。 C:\xampp\php\php.exe

PHPで、クッキーにSameSite属性を付ける

PHP

7.3以降で追加されたSameSite属性の設定手段いろいろ php.ini に書く ; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) ; Current valid values are "Strict", "Lax" or "None". When using "None", ; make sur…

PHPで、ZipArchiveクラスを使えるようにする

容量を減らすためにインストールパッケージをケチっていると、思いもよらない不具合がターゲット機のみで起こる。ZipArchiveを使っているマシンでエラー発生。 ZipArchiveが使えない。 マジかよ $ php -r '$zip = new ZipArchive();' PHP Fatal error: Uncau…

PHPで、foreachでぐるぐる回ってる最中に要素を削除する

PHP

一般的に禁忌というか面倒な 配列をループ中の要素削除 もPHPなら安全 $a) if($a=="dog") unset($list[$k]); print_r($list); print("count = ". count($list) ."\n"); foreachで回って、要素が "dog" だったら削除する Array ( [0] => a [1] => b […

PhpStormで、ウィンドウのタイトルとメニューが一体化してしまったのを直す 3

PhpStormを 2022.1 にバージョンアップしたらタイトルバーがバグったので、直す。 カスタムプロパティの修正 ウィンドウタイトルとメニューが一体化してしまったのは 2019.2 の頃で、この時期はレジストリやカスタムプロパティを修正していた。 レジストリは…

PHPから、UDPでsyslogを投げる

#!/usr/bin/php -q

PHPでエンコードして、JavaScriptでデコードする

漢字とか改行とか記号とか、そういうのをPHPからJavaScriptに渡すときにエンコードしたいとき PHP側で rawurlencode(), JavaScript側でdecodeURIComponent() を使用する。

PHPで、ディレクトリを作成する

PHP

ディレクトリがあろうがなかろうが関係なくディレクトリを作る。 mkdir -p hoge みたいなやつ。

オブジェクトの要素に変数名でアクセスする

文字列を変数名とみなして変数にアクセスするやつ JavaScriptのとき developer.mozilla.org 連想配列扱いできる var a = {b:123}; var text = "b"; console.log( a.b ); console.log( a[text] ); PHPのとき www.php.net 可変変数という仕様でアクセスできる …

if文、for文

if文for文の後ろは単文のみ許可、長くなる時は{ }でくくる というマイルール { は絶対次の行にしない。(関数宣言のときは逆に { を必ず次の行にする) 許さない書き方 /* 見つけ次第直す */ if(a>0) hoge(); for(i=0; i<10; i++) hoge(); /* 書いたやつを地…

MXレコードを取得する

PHP

$ php -r '$result=getmxrr("icloud.com",$list); var_dump($result); var_dump($list);' bool(true) array(2) { [0]=> string(20) "mx02.mail.icloud.com" [1]=> string(20) "mx01.mail.icloud.com" } www.php.net 注意:この関数をメールアドレスの確認の目…

ftp_getで、ファイルの取得ができないとき

PHP

FuelPHPは

PHP

個人的にはまだもう少しだけ頑張れると思う

PhpStormで、CTRLキーを押しながらファイルの複数選択ができなくなったとき

stackoverflow.com This problem can be fixed by turning off "Open files with single click" in the Project tab > Gear icon. It might be a bug; not sure. https://youtrack.jetbrains.com/issue/WI-52883そういうことかよ・・・ SHIFTキーを押しなが…

phpで、自前の関数定義を呼んでちょっとした実験をする

PHP

-rオプションでincludeを使う という話 php -r 'include("hoge.php"); functest(1,"abc");' なんかオプションでファイルが読めたような気もするけど PHPじゃなかった気もする

phpで、pcntlがサポートされてるか調べる

PHP

phpで、pcntlがサポートされてるかなんとなく調べる $ php -r "phpinfo();" | grep pcntl pcntl pcntl support => enabled 何がどこまで有効化無効化されてるかをなんとなく調べるなら $ php -r "phpinfo();" | grep abled

PhpStormで、ウィンドウのタイトルとメニューが一体化してしまったのを直す 2

iww.hateblo.jp 以前の方法では直せなくなっていた(設定項目そのものが消滅した)ので、直す。 https://youtrack.jetbrains.com/issue/IDEA-219212 Help → Edit Custom Properties... を選択する idea.properties というファイルを作るかと聞かれるのでハイ…

PhpStormで、ウィンドウのタイトルとメニューが一体化してしまったのを直す

PHP

PhpStorm2019.2から、こんな感じでウィンドウのタイトルバーにメニューが入り込む仕様になってしまった。 これを回避する方法がコミュニティで書かれていた https://youtrack.jetbrains.com/issue/IDEA-219212 1.Ctrl+Shift+Alt+ / キーを押してメンテナンス…

unpackは想像以上にメモリをたくさん消費する

PHP

PHPで500KB程度のバイナリファイルを1バイトずつ処理したかったので

feofでループするとバグる

C PHP

feof() は終端まで到達していたらEOFを返すけど、終端かどうかは最後の文字の次の文字を読むまでわからない。 よって、while(!feof() みたいにループで1文字ずつ読むと、必ず最後にゴミがでる。今までファイルを1文字ずつ読んだことなんかなかったので、初め…

小数点以下の桁数を指定して表示する

123456 を 123456.00 みたいに小数点以下の桁数を指定して表示する var a = 123456; var n = 2; console.log( a.toFixed(n) ); // 123456.00 Number.prototype.toFixed() - JavaScript | MDN

PHPで、配列を定義してすぐ使う

PHP

PHPで、手っ取り早くオブジェクトを生成する

PHP

ちょっとした一時的な使い捨てオブジェクトを作りたいとき、いちいちnewするのが面倒くさい。 hoge = "Hello"; $o->piyo = "world"; $o->fuga = 2019; $list[] = $o; みたいなコードだと何行もなってちょっとウザいのが、裏技を使うと1行になる "Hello", "pi…

json_last_error()

PHP

errnoみたいに、「最後のエラー」がずっと残るものだと思っていたけど 成功したときはきちんとゼロに戻されてた

uptime取得

PHP

配列同士の比較

PHP

PHP: 配列演算子 - Manual

ブラウザで見ているPHPプログラムをデバッグする。

PHP

Debian 9.5 stretch apache 2.4.25 PHP 7.0 XDEBUG 2.5 サーバ側準備 XDEBUGモジュールをインストール apt install php-xdebug XDEBUG設定ファイルを編集 ; /etc/php/7.0/mods-available/xdebug.ini ; モジュールロード指定 zend_extension=xdebug.so ; リモ…

flock()

PHP

flock() - 揮発性のメモ LOCK_NBを使うときはflock()の戻り値は常にtrueになるので$wouldblock見るしかない ・・・と思ってたけど、なんか今改めてテストしたら 普通にロック中ならfalseが返ってくる。 当時のテストが間違ってたのか環境の問題か実装が変わ…