PHP
ランキング参加中PHPランキング参加中プログラミング1は特に被りやすい 2, 1=>3, "1"=>4, 5]; print_r($a); Array ( [0] => 0 [1] => 4 [2] => 5 )
2つのテキストファイルをマージソート
PHPで、WEBアクセスからもCLIからもどちらからも同じセッションファイルを触りたい。 セッションの保存パスは session.save_path に書いてある。 WEBからのアクセスのときは、なんか php-fpm とかが勝手に/var/lib/php/session にしている 一方コマンドライ…
ランキング参加中プログラミングランキング参加中PHPこれの焼き直し www.php.net BASIC認証の基本的な動き 基本的に、BASIC認証は2回アクセスが来る。 1回目は認証なし。サーバは一旦 401 で突っ返す。 2回目でBASIC認証が来る。BASIC認証ではリクエストヘ…
ランキング参加中プログラミングランキング参加中PHP a = "hello"; print_r($o); こういうプログラムを実行すると、5.xや7.xの頃はエラーではなくWarningどまりだったが 8.xではすべてFatal errorになった。 PHP7.xのとき Warning: Creating default object …
MariaDBで、データベースに画像ファイルを保存する。 是非は問わない。 テーブルの編集 LONGBLOB とかいう型のカラムを追加する ALTER TABLE photo ADD COLUMN bin LONGBLOB; BLOBは 64KBまでのバイナリ、LONGBLOBは 4GBまでのバイナリが入る MariaDB - What…
①②③、㌔㍉、㎞㎜ などは EUCJPに無い文字が EUCJP-MS, EUCJP-WIN にはある。 これらの文字を含んだテキストは iconv で変換可能 元テキスト EUCJP⇒UTF8変換 iconv -c -f EUCJP -t utf8 /tmp/kishu.txt EUCJP-WIN⇒UTF8変換 iconv -c -f EUCJP-WIN -t utf8 /tm…
PhpStormで、Short open tag を許可する
今日はprivateとprotectedを間違えて大変だった name() ."\n"); } } class B extends A { private function name(){ return "Bです"; } } $a = new A(); $a->printname(); // Aです $b = new B(); $b->printname(); // Aです ※Bのつもりだった pr…
PHP8.1で既存のプログラムを動かすと、Deprecated(非推奨)のエラーがやたら出る。
PHPで設定ファイルを分けて書いているとき、設定ファイルがちゃんと読まれているかどうか確認する。 設定ファイルは文法エラーがあると、そこでそのファイルの読込みを終了して次のファイルに移る。 よって、エラー行以降は反映されないので中途半端に設定さ…
PHPのstrtotime()は日付っぽい文字列を入れるとUNIXTIMEにしてくれる便利な関数 PHP: strtotime - Manual理解してくれる書式はここにまとまっている www.php.net 書いてないけど YYYYMMDDhhmmss な形式の文字列もセーフ
CentOS7, PHP5.4 PHPで、POSIX関数がエラーになるとき、posix関数が入ってないのでインストールする $ sudo yum install php-process
コマンドの出力結果同士の差分は、bashで プロセス置換 というワザを使う。 diff <(hexdump -C /tmp/a.bin) <(hexdump -C /tmp/b.bin) bash でコマンドの実行結果をファイルとして扱う - Diary bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株…
注意: array の配列の数値添字は保存されないことに注意しましょう。 PHP: array_splice - Manual 配列が変化しようとしまいと関係なく、とにかく array_splice() を通すだけで添字は振り直される 1, 2=>2, 4=>3]; print_r($a); array_splice($a, 10); print…
変換される値がオブジェクトの場合、 デフォルトでは public としてアクセス可能なプロパティのみが含まれます。 PHP: json_encode - Manual #!/usr/bin/php -q
Windowsで作ったZIPファイルはファイル名がSJISであり、これをLinuxのPHPでファイル名をUTF-8にして解凍したい。 という話 blog.narazaki.info PHPでZipArchiveを使うと、statIndex() が勝手に憶測で文字コード変換をするために文字コードが破壊されてしまう…
動的メンバ変数に 変数名の文字列でアクセスするには、$chinko->$name とかみたいに 適当に矢印の先に変数を指定すればその変数に入ってる文字列を変数名と見なしてくれる。 hoge ."\n"; // 普通に hogeにアクセスできる $name = "hoge"; print $chinko->$na…
array_pop() や end() を使うと配列の最後尾の値を取得できる。 ただし、関数の戻り値を使うことは許されないらしい。どちらも配列を参照して配列自体をいじるため、実体が必要だから https://www.php.net/manual/ja/function.end.php https://www.php.net/m…
インストール先フォルダにある unsintall.exe を実行でアンインストールされる。ただファイル消すだけなのになんでそんなに時間かかるの? バグった? って思うほど時間かかるので注意する インストールは C:\ にする。 C:\xampp\php\php.exe
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…
容量を減らすためにインストールパッケージをケチっていると、思いもよらない不具合がターゲット機のみで起こる。ZipArchiveを使っているマシンでエラー発生。 ZipArchiveが使えない。 マジかよ $ php -r '$zip = new ZipArchive();' PHP Fatal error: Uncau…
一般的に禁忌というか面倒な 配列をループ中の要素削除 もPHPなら安全 $a) if($a=="dog") unset($list[$k]); print_r($list); print("count = ". count($list) ."\n"); foreachで回って、要素が "dog" だったら削除する Array ( [0] => a [1] => b […
PhpStormを 2022.1 にバージョンアップしたらタイトルバーがバグったので、直す。 カスタムプロパティの修正 ウィンドウタイトルとメニューが一体化してしまったのは 2019.2 の頃で、この時期はレジストリやカスタムプロパティを修正していた。 レジストリは…
#!/usr/bin/php -q
漢字とか改行とか記号とか、そういうのをPHPからJavaScriptに渡すときにエンコードしたいとき PHP側で rawurlencode(), JavaScript側でdecodeURIComponent() を使用する。
ディレクトリがあろうがなかろうが関係なくディレクトリを作る。 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(a>0) hoge(); for(i=0; i<10; i++) hoge(); /* 書いたやつを地…