風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

PHP

mountしたWindows7上のPHPファイルが実行できない?

Linux (CentOS 6.6) で、Windows 7 上のフォルダを mount したとき、Linux 上からそのフォルダ下にある PHP ファイルを実行しようとすると、エラーになってしまう……。 同じフォルダに置いた Python や Ruby 等のスクリプトについては、問題なく実行できる。 …

ダウンロードしつつ逐次処理できるcURL wrapperを試作

PHP

PHPしか使えないような*1レンタルサーバ上で、HTTP GET/POST/HEAD 等の応答をダウンロードしつつ、逐次処理(典型的にはプログレスバー表示)できたら、それなりに使い道があるかも? と思って、試作してみた。 AsyncCurl: ダウンロードしつつ逐次処理を行…

PHPのリファレンス(参照)について、自分なりにかみくだいてみる

php

経緯 最近、PDO で PDOStatement::bindParam を使う処理ではまったため。 bindParam()は、 public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )…

レンタルサーバでlog4phpを使用するための覚書

php

log4php とは… Apache Logging ServicesプロジェクトのPHP用・高機能なログフレームワーク(ログ出力ツール)。 Apache log4php™ is a versatile logging framework for PHP. Apache log4php - Welcome - Apache log4php 出力先には画面やファイル等を指定でき…

32ビット環境だと2GBを超えるファイルサイズが正常に取れないのか…

PHP

PHP_INT_MAX = 2147483647 = 0x7FFFFFFF となっている環境だと、 注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは 32 ビットの整数を取るため、 ファイルシステム関数の中には 2GB より大きなファイルについては期待とは違う値を返すも…

PEARのブラウザによるインストールがうまくいかなかったのでgo-pear.phpを修正

2018/04/12追記 PHP 7 では、うまく動作しなくなってしまったようです。 インストール自体は出来るようですが、その後、Web Frontend(「Start Web Frontend of the PEAR Installer >>」リンク)でエラーが頻発し、正常に動作しません。 これは当方では対処…

【覚書】PHPアプリにPOSTする際には入力変数の制限に注意

PHP

サーバ側の設定にもよるみたいですが、入力変数(ペイロード中のパラメータp=0&p=1&...)が一定数を超えると制限がかかるんですね。 常識なのかもしれないのですが、知らなかったのでしばらくはまっていました。 max_input_vars integer 入力変数 を最大で何…

TwitterアイコンURL取得APIのエンドポイントが変わりました

[2023/02/03追記] 提供を終了します Twitter APIの有料化に伴い、本サービスも提供を終了させていただきました。 いらすとやさんの画像をお借りしております [2018/04/09追記]再度、移動しました https 対応のため、エンドポイントを、https://furyutei.work…

【覚書】PHPの戻り値を変数を介さずにアクセスする

PHP

PHP 5.3.3 の場合 function foo() { return array(1,2,3); } $a = foo(); echo $a[1]; // 2 のように、一旦関数の戻り値を変数に格納してからアクセスしないといけなくて、 echo foo()[1]; // PHP Parse error: syntax error, unexpected '[', expecting ','…

PHPは難しい…配列にキーが存在するかはisset()じゃ厳密には判らないのね

PHP

これも今更な話なのだが、いままでPHPである連想配列$fooに'bar'というキーが存在するかを調べるのに、 if (isset($foo['bar'])) { // キーが存在した場合の処理 } とやっていたんだけれど、厳密にはこれじゃだめだったんだね…。 説明 bool isset ( mixed $v…

MDB2で接続しなおしたときだけ、通らなくなるクエリがあって悩んだ

PHP上でMDB2を使用してMySQLにアクセスしているとき、あるタイミングでだけ、通らなくなるクエリ(プリペアドステートメント)が出てきて原因がわからず、ほぼ半日無駄にしてしまった。 ■追記 MDB2: 2.5.0b5 (beta) MDB2_Driver_mysql: 1.5.0b4 (beta) を入…