Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

いきおいでPHPを勉強する。その7

日別に作成されるログに書き込む

<html>
<head>
<title>日別に作成されるログに書き込む</title>
</head>
<body>
<?php
// ロケールを設定する
setlocale(LC_TIME, "ja");

// ファイル名を取得する
$date = strftime("%Y%m%d");
$file_name = "log$date.log";

// ファイルを追記モードで開く
$file = fopen($file_name, "a") or die("OPENエラー $file_name");

// ファイルをロックする(排他的ロック)
flock($file, LOCK_EX);

// 書き込む文字列
$string = strftime("%c")." データ書き込み\n";

// データを書き込む
fputs($file, $string);

// ロックを開放する
flock($file, LOCK_UN);

// ファイルを閉じる
fclose($file);
?>
</body>
</html>
  • 出力ファイル
    • log20140513.log
2014年05月13日 (火) 08時05分21秒 データ書き込み

テンポラリファイルを使用する

<html>
<head>
<title>テンポラリファイルにデータを書き込む</title>
</head>
<body>
<?php
// テンポラリファイルを作成する
$file_temp = tmpfile();

// 書き込む文字列
$string = "文字列を書き込みます";

// データを書き込む
fputs($file_temp, $string);

// ファイルを閉じる
fclose($file_temp);

?>
</body>
</html>

ファイルをオープンせずにデータを書きコム

<html>
<head>
<title>ファイルをオープンせずにデータを書き込む</title>
</head>
<body>
<?php
// ファイルに文字列を書き込む
$file_name = "abc.txt";
$str = "テスト";
file_put_contents($file_name, $str);
?>
</body>
</html>