Archives by date

You are browsing the site archives by date.

【PHP】empty()関数の挙動めも。

ハマったのでめも。

まず関数定義

bool empty ( mixed $var )

ここで引数の$varに注意。PHP5.5より前のバージョンでは引数として変数しか受け取ることができない。
そのため式や関数をついでに評価してもらおうとすると、エラーで処理が止まってしまう。

下記動作する例。

$var = '12345';

$var = (int)$var;

$res = empty($var);

var_dump($res);

↓

bool(false)

下記エラーとなる例

$var = '12345';

$res = empty((int)$var);

var_dump($res);

↓

syntax error, unexpected T_INT_CAST

 

【PHP】用意した文字をランダムに組み合わせたパスワードを生成する。

めも。

// パスワードの長さを指定
$length = 6;
// 使用する文字を定義
$strList = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$splitStr = str_split($strList);
// パスワードを生成
for($i = 0; $i < $length; $i++) {
	$pwd[] = $splitStr[array_rand($splitStr, 1)];
}
$res = implode('', $pwd);

var_dump($res);

↓

string(6) "dLLiTU"

 

【PHP】指定ディレクトリに一時ファイルを生成する。

めも。

$tmpFilePath = tempnam(sys_get_temp_dir(), 'tmp');

var_dump($tmpFilePath);

↓

string(14) "/tmp/tmpe4zqQd"

ちなみに第1引数のディレクトリが存在しなかった場合は自動的にPHPが用いる一時ファイル保存ディレクトリが設定されるため、nullを渡しても動作する。
第2引数のファイル名プレフィックスは指定しないと動作しないので注意。

 

【PHP】システムが用いる一時ファイル保存先ディレクトリを取得する。

めも。

$tmpDir = sys_get_temp_dir();

var_dump($tmpDir);

↓

string(4) "/tmp"