5
1

PHP技術者初級認定試験のための基礎振り返り③

Posted at

ファイル操作

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();
?>
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1