- 更新日: 2017年02月27日
- 公開日: 2015年12月08日
ゼロから始めるPHP講座Vol18 ファイル操作の使用例と演習
ゼロから始めるPHP講座ファイル操作の使用例と演習
ファイル操作の使用例
ファイルの読み込みや書き込みは、データの保存方法の1つとしてよく使われています。
<?php
$filename = './access_log.txt';
$log = date('Y-m-d H:i:s') . "\t" .
$_SERVER['REMOTE_ADDR'] . "\t" .
$_SERVER['HTTP_USER_AGENT'] . "\n";
if (($fp = fopen($filename, 'a')) !== FALSE) {
if (fwrite($fp, $log) === FALSE) {
print 'アクセスログ書き込み失敗: ' . $filename;
}
}
fclose($fp);
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>トップページ</title>
</head>
<body>
<h1>ここはPHPを学ぶページです</h1>
<a href="">入り口</a>
</body>
</html>
インターネット住所IPアドレスユーザーエージェント
このような情報を保存することで、
- 今日は何人がアクセスしてきたか?- ブラウザの種類の比率は?- 何時のアクセスが多い?- etc.
と、ページに訪れるユーザ情報の分析を行えます。
はスーパーグローバル変数で、サーバー情報および実行時の環境情報が連想配列で定義されています。$_SERVER
現在ページをみているユーザーのIPアドレス$_SERVER[‘REMOTE_ADDR’]$_SERVER[‘HTTP_USER_AGENT’]
今回利用したのは$_SERVERに含まれる2つの値のみですが、その他にも様々な情報がこのスーパーグローバル変数にはあります。
リクエストメソッド名で‘GET’、‘POST’など$_SERVER[‘REQUEST_METHOD’]
$_SERVERにその他どんな情報が定義されていて、どのように利用するのかを現時点で覚える必要はありません。
IPアドレスとは
IPアドレスは0から255までの数字を4つ並べて表現する、インターネット住所です。
IPアドレス例
インターネットに接続している全てのコンピュータには、このIPアドレスが割り振られています。
実はIPアドレスとphp.netは同じインターネット住所です。
元々インターネット住所にはIPアドレスが使われていたのですが、これだと人が覚えづらいということで、「php.net」のような文字列で書かれた住所にIPアドレスを置き換えて使える仕組みができました。
php.netのように文字列の住所を「ドメイン」と呼びます。
「IPアドレス=ドメイン」であり、同じインターネット住所となります。
IPアドレスとドメインの違いは、IPアドレスは必須で、ドメインは自由ということです。
個人のPCやスマートフォンなどもインターネットに接続するにはIPアドレスが必要ですが、ドメインは必要な場合のみ利用します。
サービス利用側がIPアドレスを意識することは通常ありませんが、提供側の場合はIPアドレスやドメインについて考える必要があります。
補足.その他のファイル操作関数
ファイル読み込みや書き込みには様々な関数が用意されています。
例えばfile_get_contents関数は、ファイル内容全てを文字列として取得できます。
fopen関数やfclose関数は必要なく、1度でファイル全体を読みます。
非常に便利ですが、「行によって色を変えたい」、「一部のデータは表示しない」など、取得したデータの加工には不向きで、ファイルの中身をそのまま利用したいときに使います。
この他にもfile関数、readfile関数、fgetcsv関数、file_put_contents関数など、多数のファイル操作を行うための関数があり、用途によって使い分けを行います。
課題
テキストボックスの値をPOSTで送信し、日時とユーザが入力した値を1行ずつファイル(challenge_log.txt)に保存し、ページ下部にファイル内容を1行ずつ表示するプログラムを作成してください。
NEXTLESSONデータベースとはデータベースとは
PREVLESSONファイル操作の基礎ファイル操作の基礎
- この記事を書いた人
- CodeCampus編集部