【 PHP 】PHP8に入門してみた 138日目 PHPの基本 ( 組み込み関数 ファイル操作)

2023年1月6日

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

組み込み関数

ファイル操作

PHPでもファイルの読み書きはもちろんサポートされています!

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php

    // 書き込み内容を配列$dataにセット
    $data[] = date('Y/m/d H:i:s');
    $data[] = $_SERVER['SCRIPT_NAME'];
    $data[] = $_SERVER['HTTP_USER_AGENT'];
    $data[] = $_SERVER['HTTP_REFERER'];

    // access.logを追記書き込みモードでオープン
    $file = @fopen('acces.log', 'a') or die('ファイルを開けませんでした!');

    // ファイルのロック
    flock($file, LOCK_EX);

    // ファイルの書き込み
    fwrite($file, implode("\t", $data) . "\n");

    // ロックの解除
    flock($file, LOCK_UN);

    // ファイルのクローズ
    fclose($file);

    print 'アクセスログを記録しました。'

    ?>
</body>

</html>

HTTP_REFERERでワーニングになりました。
きっと1つ前のURLが無い(別の画面から遷移したわけじゃない)から情報が無いんですね。

 

access.logを確認しました。

2023/01/xx 20:39:35 /selfphp/chap01/hello.php   Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36

メモ

withステートメントはよぉ!

PHPPHP

Posted by raika@blog