ファイル操作
1. ファイルの読み込み
PHPでは、fopen、fread、fgets、file_get_contentsなどの関数を使用してファイルを読み込むことができます。
file_get_contents
file_get_contents関数は、ファイル全体を文字列として取得します。
<?php
$filename = 'example.txt';
$content = file_get_contents($filename);
echo $content;
?>
2. ファイルの書き込み
ファイルにデータを書き込むには、fopen、fwrite、file_put_contentsなどの関数を使用します。
file_put_contents
file_put_contents関数は、ファイルにデータを書き込みます。ファイルが存在しない場合は新しく作成し、既存のファイルがある場合は上書きします。
<?php
$filename = 'example.txt';
$data = "こんにちは、PHP!";
file_put_contents($filename, $data);
?>
3. ファイルの追記
既存のファイルにデータを追加するには、fopen関数でファイルをaモード(追記モード)で開き、fwrite関数を使用します。
<?php
$filename = 'example.txt';
$data = "\n新しい行を追加します。";
$file = fopen($filename, 'a');
fwrite($file, $data);
fclose($file);
?>
セッションとクッキー
1. セッション
セッションは、ユーザーごとに一時的なデータを保存するために使用します。セッションはサーバー側に保存され、セッションIDをクライアント側にクッキーとして送信します。
セッションの開始とデータの設定
<?php
session_start(); // セッションを開始
$_SESSION['username'] = 'taro'; // セッション変数に値を設定
echo "セッションが設定されました。";
?>
セッションデータの取得
<?php
session_start();
echo "こんにちは、" . $_SESSION['username'] . "さん!";
?>
2. クッキー
クッキーは、ユーザーのブラウザにデータを保存するために使用します。クッキーはクライアント側に保存され、サーバーに送信されます。
クッキーの設定
<?php
setcookie('username', 'taro', time() + 3600); // クッキーを1時間後に期限切れに設定
echo "クッキーが設定されました。";
?>
クッキーの取得
<?php
if (isset($_COOKIE['username'])) {
echo "こんにちは、" . $_COOKIE['username'] . "さん!";
} else {
echo "クッキーは設定されていません。";
}
?>
データベース接続
1. MySQLデータベースへの接続
PHPでは、MySQLデータベースに接続するためにmysqli拡張モジュールを使用します。
データベースへの接続
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// 接続を作成
$conn = new mysqli($servername, $username, $password, $dbname);
// 接続をチェック
if ($conn->connect_error) {
die("接続失敗: " . $conn->connect_error);
}
echo "接続成功";
?>
2. データの挿入
データベースにデータを挿入するには、SQLのINSERT文を使用します。
<?php
$sql = "INSERT INTO users (username, email) VALUES ('taro', 'taro@example.com')";
if ($conn->query($sql) === TRUE) {
echo "新しいレコードが作成されました。";
} else {
echo "エラー: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
3. データの取得
データベースからデータを取得するには、SQLのSELECT文を使用します。
<?php
$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 件の結果";
}
$conn->close();
?>
4. データの更新
既存のデータを更新するには、SQLのUPDATE文を使用します。
<?php
$sql = "UPDATE users SET email='new_email@example.com' WHERE username='taro'";
if ($conn->query($sql) === TRUE) {
echo "レコードが更新されました。";
} else {
echo "エラー: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
5. データの削除
データベースからデータを削除するには、SQLのDELETE文を使用します。
<?php
$sql = "DELETE FROM users WHERE username='taro'";
if ($conn->query($sql) === TRUE) {
echo "レコードが削除されました。";
} else {
echo "エラー: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>