PHPプログラミング

すぐに役立つテクニック & 学習向けのコンテンツ

レシピ

設定

  1. php.iniが置いてある場所の探し方
  2. php.iniでファイルのアップロード可能サイズを設定する
  3. php.iniで標準タイムゾーンを設定する

スーパーグローバル変数

  1. PHP実行環境の情報を取得する:$_SERVER
  2. アップロードファイルの情報を取得する:$_FILES

変数

  1. 変数の値が特定の型であるかを確認する
  2. 変数に値がセットされているか/存在するかを確認する
  3. 変数の値の型を取得する:gettype関数
  4. 変数にセットされた値の型を強制変換する

配列

  1. 基本的なソート関数で配列を並び替える
  2. 配列を変数へ分割
  3. 複数の変数を配列に統合
  4. 複数の配列を1つに統合
  5. 配列のすべての要素に対して同じ関数を実行する
  6. 多次元配列のソート:array_multisort関数
  7. 配列を逆順に並び替える
  8. 連想配列をキー(添字)で並び替える
  9. 連想配列を値で並び替える
  10. 配列の先頭に値を追加する
  11. 配列の末尾に値を追加する
  12. 配列の先頭から値を取り出す
  13. 配列の末尾から値を取り出す
  14. 配列の指定した場所に値を追加する
  15. 配列から指定した範囲で値を削除する
  16. 配列の指定した範囲の値を置き換える
  17. 配列の指定した範囲を取り出す

文字列

  1. ランダムな文字列を作成する
  2. 正規表現で文字を検索する:preg_match関数
  3. 正規表現の検索結果からヒットした文字列やヒット件数を取得
  4. 検索に一致した文字列を置換する:preg_replace関数
  5. 特定の文字で文字列を分割する:preg_split関数
  6. はしご高など旧字体漢字の文字化けを防ぐ
  7. 文字列の前後にある空白文字(スペース・タブ)を取り除く
  8. 半角アルファベットの大文字、小文字表記を整える
  9. 文字の半角/全角表記を整える
  10. 文字列の長さを取得する
  11. 文字列からHTMLタグやPHPタグを除去する
  12. 文字列の中で変数や配列、オブジェクトのプロパティを展開する
  13. 文字列からハッシュ値を取得する
  14. パスワードをハッシュ値に暗号化する
  15. 文字コードを変換する
  16. 文字列を置き換える
  17. 特定の文字列が含まれているか確認する
  18. 文字列の一部を取り出す

数値

  1. 数字(数値)を3桁ごとにカンマで区切る / 小数点以下の桁数を設定する
  2. 乱数を生成する:mt_rand関数
  3. 暗号化でも安全に使える乱数を生成する:random_int関数
  4. 浮動小数点数の四捨五入(round関数) / 切り上げ(ceil関数) / 切り捨て(floor関数)
  5. 条件式における数値の真偽について
  6. 数値の桁数を数える

日付・時刻

  1. 日付/時刻を取得する:getdate関数
  2. 日付の計算:strtotime関数
  3. タイムスタンプから日時を計算する
  4. タイムゾーンを取得 / 設定する
  5. 日の出/日の入りの時間を取得する
  6. 生年月日から現在の年齢を計算する
  7. 西暦から和暦(明治・大正・昭和・平成)を取得する
  8. 指定した日付の曜日を取得する
  9. 現在のタイムスタンプを取得する
  10. マイクロ秒単位まで含めたタイムスタンプを取得する
  11. 指定した日時のタイムスタンプを取得する
  12. 月末の日付を取得する
  13. 年末の日付を取得する
  14. 指定した時間だけPHPの処理を停止する
  15. 2つの時刻の差分を計算する
  16. カレンダーを作成する
  17. フォーマットを指定して日時を取得する:date関数

メール送信

  1. 日本語のメールを文字化けしないように送信する:mb_send_mail関数
  2. 送ったメールがスパム判定(迷惑メール)されないためのヘッダー設定
  3. 複数の宛先を指定する
  4. メールにファイルを添付して送信する
  5. メールに複数のファイルを添付して送信する
  6. メールの送信元が文字化けした時の対処方法:mb_encode_mimeheader関数

出力

  1. データをCSVファイルとしてダウンロードする
  2. リダイレクトする:header関数

データベース PDO

  1. PDOについて
  2. PDOで使用できるデータベースを調べる
  3. PDOを使ってデータベースへ接続
  4. PDOでテーブルを作成(CREATE TABLE)
  5. PDOでデータを新規登録(INSERT)
  6. PDOで最後に登録したデータのIDを取得する:lastInsertId
  7. PDOでデータを取得(SELECT)
  8. PDOでデータを更新(UPDATE)
  9. PDOでデータを削除(DELETE)
  10. PDOのトランザクション

データベース MySQL / MariaDB

  1. PHPでMySQL / MariaDBのデータベースを使う
  2. mysqliを使ってMySQL/MariaDBのデータベースへ接続
  3. mysqliでMySQL/MariaDBにテーブルを作成:CREATE TABLE
  4. mysqliでMySQL/MariaDBからデータを取得:SELECT
  5. mysqliでMySQL/MariaDBにデータを登録:INSERT
  6. mysqliでMySQL/MariaDBのデータを更新:UPDATE
  7. mysqliでMySQL/MariaDBのデータを削除:DELETE
  8. mysqliのSELECT文を使った様々なデータの取得方法
  9. mysqliのトランザクション
  10. mysqliのプリペアドステートメント
  11. mysqliで最後に登録したデータのIDを取得する
  12. mysqliで文字列をエスケープする

データベース SQLite

  1. SQLite3を使ってをデータベースへ接続
  2. SQLite3でテーブルを作成:CREATE TABLE
  3. SQLite3でデータを新規登録:INSERT
  4. SQLite3でデータを更新:UPDATE
  5. SQLite3でデータを削除:DELETE
  6. SQLite3でデータを取得:SELECT
  7. SQLite3のトランザクション

データベース PostgreSQL

  1. PostgreSQLデータベースへ接続
  2. PostgreSQLデータベースでテーブルを作成(CREATE TABLE)
  3. PostgreSQLデータベースへデータを新規登録(INSERT)
  4. PostgreSQLでデータを更新(UPDATE)

セキュリティ

  1. PHPのセキュリティについて
  2. パスワードの暗号化

Facebook PHP向けSDK

  1. FacebookのPHP向けSDKで何ができるの?使用するための準備
  2. Facebookページの基本データを取得
  3. GraphAPIを使ってFacebookページのデータを取得
  4. Facebookページのタイムライン(フィード)を取得
  5. Facebookログインの実装

Swift Mailerライブラリ

  1. Swift Mailerのインストール&メールを送信する
  2. Swift Mailerの様々なメール設定
  3. Swift MailerでHTMLメールを送信する
  4. Swift Mailerで複数の宛先にメールを一括送信する
  5. Swift Mailerでメールの文字コードを設定する

フレームワーク

  1. 【2016年版】PHPのフレームワークについて
  2. 【2017年版】PHPのフレームワークについて

mPDFライブラリ

  1. mPDFライブラリでPDFファイルを作成する
  2. mPDFライブラリで保存(ダウンロード)する時のファイル名を指定する
  3. mPDFで作成するPDFファイルの設定
  4. mPDFでHTMLからPDFを作成する
  5. mPDFの出力方法を指定する

ファイル / ディレクトリ

  1. PHPでファイル/ディレクトリを扱う
  2. ファイルやディレクトリが存在するか確認する
  3. ファイルサイズを取得する
  4. ファイルの種類(MIMEタイプ)を確認する
  5. ファイル/ディレクトリが読み取り可能か確認する
  6. ファイル/ディレクトリが書き込み可能か確認する
  7. ファイル/ディレクトリを最後に更新した時刻を取得する
  8. ファイル/ディレクトリの権限を確認する
  9. ファイルの拡張子を取得する
  10. パスからファイル名を取得する
  11. ファイルへ最後にアクセスした時刻を取得する
  12. ディレクトリ内のファイルを基準にディレクトリへの最終アクセス時刻を取得する
  13. テキスト形式のファイルを新しく作成する
  14. ファイルをコピーする
  15. ファイルを削除する
  16. ディレクトリを削除する
  17. fopen関数でファイルの読み込み/書き込みを行う
  18. 仮ファイルに一時的なデータを保存する
  19. flock関数でファイルをロックする
  20. ディレクトリを作成する
  21. ディレクトリの使用可能な空き容量を取得する
  22. ディレクトリ内のファイル一覧を取得する
  23. ファイルのデータを一括で取得する
  24. ファイルから1行ずつデータを読み込む
  25. ファイルのデータをHTMLタグを取り除きながら1行ずつ取得する
  26. パスの対象がファイル/ディレクトリであるかを確認する
  27. ファイルの相対パスから絶対パスを取得する
  28. POST通信でアップロードされたファイルか確認する
  29. アップロードしたファイルを特定のディレクトリに保存する

ワークショップ

ひと言掲示板を作る

  1. ひと言掲示板を作る
  2. メッセージの入力フォームを作る
  3. メッセージのデータを受け取る
  4. ファイルにデータを保存する
  5. ファイルからデータを読み込む
  6. 投稿完了メッセージを表示する
  7. 投稿の未入力バリデーションをつける
  8. 投稿されたデータをサニタイズする
  9. 投稿データの保存にデータベースを使う
  10. 掲示板のデータベースとテーブルを作成する
  11. 投稿データをデータベースに登録する
  12. データベースからデータを取得する
  13. コードを整理する
  14. セッションで表示名の入力を省略する
  15. 管理ページを作成する
  16. ログインページを作る
  17. 投稿データをCSV形式でダウンロードする
  18. 投稿データをダウンロードする件数を指定する
  19. 投稿メッセージの編集ページを作る
  20. メッセージを編集する機能を実装する
  21. 投稿メッセージの削除ページを作る
  22. 管理ページにログアウトを実装する

フォームを作る

  1. フォームの基本構造を作成する
  2. フォームの確認ページ&完了ページを作成
  3. 自動返信メールの実装
  4. 入力値の引き継ぎ
  5. 入力値のサニタイズ
  6. 入力値のバリデーション
  7. 入力項目に合わせた様々なバリデーション
  8. フォームにファイルアップロード機能をつける
  9. アップロードしたファイルをメールに添付する
  10. セッションでフォームの多重送信を防ぐ

入門