PHP

【Windows7】「Ctrl」+「Alt」+「矢印キー」の画面回転を無効化する。

他アプリのホットキーと競合してうざかったので調べた。

1, デスクトップで右クリック

2, 「グラフィック オプション」の「ホット キー」を選択

3, 「無効化」を選択

完了。

 

【PHP】現在実行中の関数名を取得する。

めも。

__FUNCTION__という定数に格納されているのでそれを用いればOK。

echo __FUNCTION__ ;

 

【PHP】ファイルサイズを計算し適切な単位をつけて返す関数。

メモ。

function getFileSizeUnit($fsize) {
	$cnt = 0;
	$buf = 0;
	$unit = array('B', 'KB', 'MB', 'GB', 'TB');
	while(1) {
		if($cnt > count($unit) - 1) {
			$cnt = 9999;
			break;
		}
		if(!isset($s)) $s = $fsize;
		$sbuf = 1;
		$sbuf = floor($s / 1024);
		if($sbuf < 1){
			$fs = $s + round(($fsize - ($s * pow(1024, $cnt))) / pow(1024, $cnt), 1);
			$fs .= $unit[$cnt];
			break;
		}else{
			$s = $sbuf;
		}
		$cnt ++;
	}
	return $fs;
}

ファイルサイズ(数値)を渡すと単位付きで返却してくれる。

 

【PHP】文字列を PHP コードとして評価する。

メモ。

生成した文字列をPHPコードとして評価させたい場合はeval()関数を用いる。

下記例。

$code = "echo 'Hello World';";
eval($code);

var_export()と組み合わせれば、配列を文字列として保持しておくこともできるし、関数コール時に引数を動的に設定することもできたりするすぐれもの。

ただし、任意のコードを実行出来てしまうという点で非常に危険な関数でもあるので、渡す値は十分注意されたし。

 

【PHP】file()、file_get_contents()、スピードテスト。

実験コード

■file()

implode('', file('/path/to/file.ext'));

■file_get_contents()

file_get_contents('/path/to/file.ext');

50%近くfile_get_contents()の方が速い。

 

【PHP】.htaccessでshort_open_tagをオンオフする。

めも。

.htaccessファイルに下記を記述

■オフにしたい時

php_flag short_open_tag Off

■オンにしたい時

php_flag short_open_tag On

 

【CakePHP2.4】find()メソッドでorder by句を指定する。

調べてみたら普通にオプションで渡すだけだった。

$options = array(
	'group' => 'col_name'
);

$this->Model->find('all', $options);

意外と今まで知らなかったので戒めも。

 

【CakePHP2.4】発行されているSQLをコンソールから確認する方法。

CakePHPにてSQLを確認する方法は、ブラウザ上からデバッグキットを用いるか、sql_dumpの欄を見る方法がある。

ではコンソールから見たい場合はどのように取得すればいいのか?

ということで調べてみた。

■モデルから

$log = $this->getDataSource()->getLog();
var_dump($log);

■コントローラーから

$log = $this->Model->getDataSource()->getLog();
var_dump($log);

というように、getDataSouce()メソッドを用いることでSQLを取得することが出来た。