目次

  1. 一般(PHP8)
  2. LINE Message API
  3. 一般(PHP7)
  4. CakePHP3
  5. 一般(PHP5.6)
  6. 文字列操作
  7. 日付と時刻
  8. 配列
  9. Composerの覚書
  10. 画像処理 GD
  11. Guzzleの覚書
  12. WordPressの覚書
  13. PHPUnitの覚書

一般(PHP8)

  1. PDOの基本 :データベースアクセスオブジェクト
  2. トークン生成
  3. ルートパス(基本URL)を取得 | cssファイルやjsファイル読み込み用 | Laravel
  4. シングルトンパターン
  5. .envファイルから設定値を取得するオリジナル関数
  6. 文字列を数値化(整数化)する | intval
  7. iniファイル内のデータを読み込み、配列にセットする
  8. 配列をiniファイルへ書き込む
  9. SQLサニタイズ【2023年版】
  10. require_onceを省略する | spl_autoload_register
  11. セッション(session)のデータをDBで管理するオリジナルクラス | PDOSessionHandler
  12. LINE Message API: リッチメニューをCURLで登録
  13. LINEリッチメニューをPHPコードでCURL配信設定

LINE Message API

  1. メッセージ送信とリクエストIDの取得
  2. LINEオーディエンスの一覧表示、登録、削除 | CURL | LINE Developer API
  3. LINE Message API: リッチメニューをCURLで登録
  4. LINEリッチメニューをPHPコードでCURL配信設定

一般(PHP7)

  1. テキストからおすすめ商品を取得するアルゴリズム | #レコメンド #レーベンシュタイン
  2. Youtubeタグのヘルパー | video
  3. localhostで接続が拒否されました。←対策 | https SSL | Chrome
  4. DockerコンテナにてGDを使えるようにする | PHP7.4
  5. 初期値をセットする際の1行簡易記述 | ワンライナー | ??
  6. falseかtrueのフラグ値に変換するテクニック | !!
  7. staticメソッド | ファクトリー | static() | self::
  8. アノテーションコメント TODO FIXME HACK REVIEW OPTIMIZE CHANGED NOTE WARNING QUESTION TEMP
  9. オリジナルクラスでCake機能を使えるようにする | CakeObject
  10. property_exists | オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる
  11. ルートパスを取得する | localhostと本番環境の両方に対応
  12. 名前空間namespaceとuseについて
  13. namespaceやuseを宣言しているクラスで、別ディレクトリにあるクラスをインスタンス化(new)する方法

一般(PHP5.6)

  1. JSON変換
  2. テキストファイルから文字列を読み取る
  3. 文字列をテキストファイルに書き出す
  4. ファイルのソースコードを取得する
  5. 文字列を指定文字で分割(split,preg_split,explode)
  6. 空判定について
  7. 改行コードを<br>タグに変換 nl2br()
  8. 小数点の四捨五入、切上げ、切捨て
  9. web上の画像をコピーする
  10. 金額など数値の3ケタ区切り | number_format
  11. 時分チェック関数
  12. XSSサニタイズ
  13. SQLインジェクション用のサニタイズ
  14. XML出力用のエスケープ
  15. URLをサニタイズ | 要素属性へのXSS攻撃
  16. PHPの注意:PHPの関数と同じ名前でオリジナル関数を作ってはいけない。
  17. 数値を2桁表記にする(例 2→02) | sprintf
  18. 小数点以下の0(ゼロ)埋めて桁数をそろえる | number_format
  19. 科学記法を10進数表記にする(例 1.23E+14 → 123000000000000)
  20. 文字化け対策した日本語ファイル名のファイルコピー | move_uploaded_file
  21. 日本語ディレクトリの存在チェック | 日本語フォルダに対応したis_dir
  22. 指定したパスから中間ディレクトリも含めてディレクトリを作成
  23. ディレクトリを作成しながらファイルコピー(日本語名ファイル対応)
  24. ディレクトリ内のファイルを列挙 | ファイル一覧を取得
  25. ディレクトリ階層化の全ファイルを列挙
  26. 指定ディレクトリ内のファイル詳細情報を取得する
  27. パスを削除する(2023年版) | 内部にファイルを含むディレクトリの削除、ファイル削除、失敗リストも返す
  28. ディレクトリ内のファイルをまとめて削除
  29. ディレクトリごとファイルを削除する
  30. ディレクトリ内のファイルとフォルダをすべて除去する
  31. ディレクトリ内のファイル削除 | 指定日数より古い更新日のファイルをすべて削除する
  32. ファイル名からディレクトリ、ファイル名、拡張子を取得する | pathinfo()
  33. ディレクトリが存在しないならディレクトリを作成する
  34. ファイル削除を日本語名ファイルで行う方法 | unlink
  35. ディレクトリを深く探り、ファイル群のファイルパス配列を取得する
  36. IPアドレスを取得する | $_SERVER["REMOTE_ADDR"]
  37. 暗号化関数の拡張版 md5Ex
  38. 日時入力チェックのバリデーション
  39. 遷移元URLであるリファラを取得する | $_SERVER['HTTP_REFERER']
  40. URLからドメイン、パス、クエリ、ポート番号などを取得する | parse_url
  41. 現在のURLを取得する | HTTP, HOST(ホスト)の部分を取得 | 相対URLの取得
  42. 英数字のランダム文字列を生成する
  43. ホスト(ドメイン)からハッシュを作成する
  44. 文字化け対策をとして、PHP.iniの設定をutf8にする
  45. PHPのエラー
  46. 一意なハッシュコードを生成 | 照合用のハッシュに・・・
  47. サーバー名またはホスト名を取得 | $_SERVER['SERVER_NAME']
  48. ローカル環境である場合の処理(サーバー名にlocalhostが含まれる場合)
  49. Proxyサーバー経由のアクセス元IPアドレスを取得する
  50. プロキシサーバーが設定している値を取得する
  51. ユーザーエージェントの取得
  52. ob_startとob_end_cleanによる出力バッファのクリア
  53. 文字の一致率 | レーベンシュタイン距離 | similar_text
  54. あいまい一致関数 | similar_text_ex | 比較文字1と比較文字2の一致率による判定
  55. 文字列の先頭から一文字を取得する
  56. 文字列の末尾から一文字を取得する
  57. 最大実行時間(タイムアウト)をphp.iniで設定する | Maximum execution time of 30 seconds exceeded
  58. タイムアウトの延ばす | set_time_limit
  59. ログアウトの時間を伸ばすphp.iniの設定 | ログイン認証時間を延ばす | セッションタイムアウトの時間を1日にする
  60. セッションのエラー:Warning: session_start(): Cannot start session when headers already sent in ...
  61. 1行IF文
  62. キャメルケースおよびスネークケースへの変換
  63. ローワーキャメルケースへの変換
  64. テーブル名からモデル名に変換する
  65. テキストファイルを途中から読み込む
  66. 大容量CSVファイル1000行ずつ読込 | メモリ使用状況も確認
  67. forループによるテキストファイル処理 | 最大20行までのテキストを出力する
  68. POSTデータの容量を増やす | Warning: POST Content-Length of ...
  69. テキストファイルからオフセットで指定した1行を読み込む
  70. テキストファイルの先頭行文字列を取得する
  71. 波ダッシュを全角チルダに変換する
  72. アップロード容量を増やすphp.iniの設定
  73. 複数の改行コードに対応した改行分割 | preg_split
  74. 改行コードを統一する
  75. 緯度経度を度分秒表記(60進数)から10進数に変換
  76. 複数の区切りで文字列を分割
  77. 先頭の一文字を取得する
  78. 先頭の一文字をカットする
  79. 分数表記の文字列を浮動小数に変換する
  80. Exifを取得
  81. 文字列から日付の部分を別の日付に置換
  82. PHPのコールバック
  83. PHPのコールバック | 関数名を文字列として指定する
  84. AJAXクロスドメイン
  85. cURLでクロスドメイン
  86. cURLによるクロスドメイン:認証キー付き
  87. file_get_contentsによるクロスドメイン
  88. クロスドメイン・ファイルアップロード
  89. POSTとPUTの違い
  90. ヘッダー情報を取得 | getallheaders
  91. file_get_contents関数でスクレイピング
  92. 2次元配列データからHTMLテーブルを作成
  93. フルパスを取得 (Windows環境でのパス)
  94. ディレクトリパスの種類ごとのmkdirを検証
  95. フルパスのディレクトリセパレータ定数 DIRECTORY_SEPARATOR
  96. ファイルの更新日時を取得する
  97. 絶対パスと相対パスの組み合わせたパスの記述方法
  98. CSVファイルダウンロード | テキストファイルダウンロード
  99. zipの解凍 | ZipArchive
  100. zipの圧縮 | ZipArchive
  101. SELECTフォームを作成する
  102. 型をセットする | settype
  103. 型をセットする | 配列へ個別で型指定
  104. 特定のファイルをダウンロードさせる
  105. submitの挙動
  106. XML用の記号エスケープ関数 | escapeMarkForXML
  107. ファイルおよびディレクトリのパーミッション(属性)を変更する
  108. ファイル存在チェック(フォルダと日本語名も検証)| is_file,file_exists
  109. データのグループ化
  110. ループにおける関数処理を高速化する
  111. 最大実行時間が30秒の制限を解除する
  112. ファイルパスやディレクトリパスからパスセパレータ(パス区切り)を取得する
  113. 自作テンプレートエンジン | コンテンツを文字列として取得 | レンダリング render
  114. 連続するスペースを一つにする
  115. 文字列で指定した関数を呼び出す
  116. 文字列のクラス名とメソッド名を指定して実行する
  117. 拡張URLエンコード
  118. CSV用データに変換
  119. CSVファイルを読み込み配列データに格納する
  120. CSVテキストを読み込み配列データに格納する | バージョン2
  121. CSVの行が改行中であるか判定する
  122. evalの使い方
  123. Eval実行のエラーだけをキャッチする(外部エラーは無視)
  124. globalの検証
  125. パスの末尾にスラッシュがなければ追加(削除)
  126. XMLファイルを読み込んでパースする | simplexml_load_file
  127. JAX.phpでXMLと配列データを相互変換する
  128. ファイルからテキストを取得する | file_get_contents
  129. XMLテキストを読み込んでデータ配列を取得 | SimpleXMLElement
  130. PHPの罠:文字列と0を比較するときは注意
  131. 配列内の値存在チェック | in_arrayの高速版
  132. ファイル名の拡張を小文字化する
  133. 関数に配列を参照渡ししたときの検証
  134. 配列の参照実験
  135. 特殊比較:ゼロ比較
  136. パスやURLのセパレータをそろえる
  137. ツリー構造データ関連クラス
  138. ImageMagickの旧覚書
  139. ページネーション
  140. タグ除去
  141. GCPへの登録から「Google Translate API」を動かすところまで
  142. Google Translate API | 言語リストを取得
  143. カレントディクトリパスを取得 getcwd()
  144. PhantomJSで動的HTMLをスクレイピング(Windowsローカル環境)
  145. execが動かしているもの
  146. OSを調べる
  147. バックグラウンド(非同期)でPHPを実行する
  148. データからINSERT SQLリストを作成する
  149. データからINSERTとUPDATEのSQL文を生成する
  150. エンティティからINSERT文とUPDATE文を作成する
  151. ブラウザ判定
  152. 画像サイズ(横幅、縦幅)を取得する
  153. 使用メモリを取得 memory_get_usage()
  154. ファイル容量を取得 | filesize()
  155. UTF8ファイルのテキストに付いているBOMを除去する
  156. ログ出力 error_log
  157. ログ出力 | オリジナル
  158. 入力チェックバリデーション | InputCheckValid
  159. ディレクトリごとログファイルを作成、また旧ログファイルの除去も行う | LogEx.php
  160. 手入力フラグの自動変換
  161. ファイル名変更
  162. 日本語ファイル名を半悪英数字に変更
  163. 物理メモリの割り当てを増やす | memory_limit
  164. 別のファイルを埋め込み(HTMLファイルを埋め込む) | include
  165. 配列の定数 | const PHP5.6
  166. TCPDFによるPDF | 基本
  167. TCPDFのCSSスタイル
  168. TCPDF ERROR: Some data has already ...
  169. 自作ログイン | 基本
  170. 自作ログイン | ログインチェックとログアウト
  171. メール送信 | mb_send_mail
  172. パスワード自動生成
  173. データのDB保存(オリジナル版) | save | saveAll
  174. 連想配列から変数を作成する | extract

文字列操作

  1. 文字数を取得
  2. 文字列の置換 | str_replace
  3. 対象文字列に検索文字列が存在するかチェック
  4. 先頭の一文字を取得 | 先頭のn文字
  5. 末尾の一文字を取得 | 末尾のn文字
  6. 文字列を左側から印文字を検索し、左側の文字を切り出す
  7. 文字列を左側から印文字を検索し、右側の文字を切り出す
  8. 文字列を右側から印文字を検索し、左側の文字を切り出す
  9. 文字列を右側から印文字を検索し、右側の文字を切り出す
  10. 末尾の一文字を削る
  11. 先頭の一文字を削る
  12. 文字幅を適当に切りそろえる(文字丸め) | mb_strimwidth
  13. 先頭を大文字にする
  14. 2つの印文字に挟まれた文字を取得する
  15. 2つの印文字に挟まれた文字を置換する
  16. 文字列を配列化する
  17. 日本語文字列を配列化する
  18. 文字列中で仕様している文字を重複なしで列挙する
  19. 文字列を小文字化する | strtolower,mb_strtolower
  20. 文字列を大文字化する | strtoupper,mb_strtoupper
  21. 文字列の両端からダブルクォートなどを除去する
  22. 文字列の先頭または末尾から指定文字を除去する
  23. 文字列をShift-JISからUTF8に変換する | mb_convert_encoding
  24. データ配列内の値をまとめてShift-JISからUTF8に変換する | mb_convert_variables
  25. 検索する文字を含む行を取得する
  26. 文字列から連続する数値部分を抽出する(複数一致に対応)
  27. 位置指定して文字列の一部を置換する(マルチバイトに対応 mb_substr_replace)
  28. 文字列のバイト数を取得 | UTF-8
  29. 文字列の複数置換 | 配列を指定すると一括で複数の文字置換ができる
  30. 郵便番号変換
  31. 億万円表記
  32. 文字列中の空白を除去する | 半角スペースと全角スペースを除去
  33. ディレクトリパスの末尾のセパレータを除去、もしくは追加
  34. 全角数字を半角数字に変換する
  35. 全角スペースを半角スペースに変換する
  36. 全角記号を半角に変換する
  37. 連続する複数スペースを一つスペースにする

日付と時刻

  1. 日付の基礎 date()
  2. 日付の基礎 DateTime
  3. UNIXタイムスタンプを取得する | time
  4. 現在のUNIXタイムスタンプを取得 | time()
  5. 日付フォーマット変換(日時にも)
  6. 週始めの日付を取得
  7. 月初めの日付を取得する
  8. 元旦日を取得する
  9. 日付の加算と減算
  10. 日付比較
  11. 年月日フォーマットから日付型データとして取得
  12. 日付のループ
  13. DateTime型日付と unix timestampの相互変換
  14. 日付ループ(DateIntervalを使わない)
  15. 日付フォーマット変換
  16. 2つの日付の日数差を算出する
  17. 変数や配列を1つの文字列にする | serialize
  18. 日付の月末日を取得する方法 | Y-m-t
  19. 期間月分割 | 開始日から終了日までの期間を月ごとに分割する関数
  20. 日付が8桁数値表記であれば、y/m/d形式に変換する
  21. 時刻フォーマット変換
  22. 日時入力チェックのバリデーション
  23. 数日後、数年前、数秒後などの日付を取得する
  24. chaekdate関数の要注意バグ
  25. ミリ秒 | microtime
  26. 期間を指定月間で分割
  27. 文字列から日付の部分を別の日付に置換
  28. タイムゾーンを東京に設定する | date_default_timezone_set('Asia/Tokyo');
  29. 文字列から日時フォーマットを取得する関数
  30. 番号文字列から日付を取得する関数
  31. 部分的日時のフォーマット変換を行う関数
  32. 部分文字列から日時情報を推測するクラス DatetimeGuess.php
  33. 手入力による様々な日付文字列入力を正しい日付フォーマットに自動変換する関数
  34. strtotimeをいろいろな日付文字列で試す
  35. 一か月後

配列

  1. 配列から重複を削除
  2. 配列のソート
  3. 2次元配列のソート
  4. 2次元配列のソート:特定のフィールドでデータを並べ替える関数
  5. 多次元配列のマージ
  6. 配列の先頭と最後を取得する
  7. 配列をデバッグ | var_export
  8. 配列からURLのクエリを作成 | http_build_query
  9. 配列を等分割する | array_chunk
  10. 2次元配列から列を抜き出す
  11. 配列からキーをリストで取り出す | array_keys
  12. 配列をカンマ区切り連結文字に変換(IN句,CSV用に) | implode
  13. 文字列を指定文字数ごとに区切って配列にする | str_split
  14. 連想配列をインデック型である普通の配列に変換する | array_values
  15. 配列の先頭と最後を取得 | end,reset
  16. 配列のキーと値を入れ替える | array_flip
  17. 配列から空白を除去
  18. 配列判定 | is_array
  19. array_splice | 配列要素の挿入、変更、削除
  20. 配列内に指定する値が存在するかチェックする | in_array
  21. 配列のポインタ移動を検証 | end,reset,current,each,next,prev
  22. 配列の末尾を取得
  23. キー用の配列と値用の配列を合成し、キー付きのデータ配列を作成する
  24. 配列の先頭キーを取得する
  25. 配列の反転
  26. データ構造タイプを取得(0:空 , 1:プリミティブ型 ,2:エンティティ型 , 3:データ型)
  27. 配列の階層の深さを調べる
  28. 配列先頭の値を取得
  29. 配列内を値で検索し、キーを取得する | array_searchの検証
  30. 日本語文字列を配列にする

Composerの覚書

  1. Composerの概要
  2. Windows環境でcomposerコマンドを使えるようにする【2020年】
  3. Composerの入手
  4. composer.pharとは
  5. composer.pharはどこに配置すべきか
  6. ライブラリをインストールする
  7. composer.pharをコマンドでインストール
  8. ライブラリを更新する
  9. ライブラリをプロジェクトに組み込む
  10. 推奨:リポジトリ管理から外す
  11. composerをWindowsで手軽に動かすセット
  12. composer.pharのアップデート
  13. パケージ(ライブラリ)作成およびPackagistへ登録
  14. composerの指定ライブラリを更新

画像処理 GD

  1. 画像を取り込む
  2. 取り込んだ画像からサイズを取得する
  3. 別名で保存する
  4. 空画像を作成してファイル保存する
  5. アルファチャネルによる透明
  6. 複数の画像を合成し、一枚の画像を作成する
  7. 画像に別画像を拡大縮小しながらコピーする
  8. 画像に文字を重ねる | imagettftext
  9. 塗りつぶし | imagefill
  10. 文字列画像の横幅と縦幅 | imagettfbbox
  11. カラーコードからRGB値に変換
  12. 画像を回転させて保存
  13. サムネイル画像作成:PNG
  14. サムネイル画像作成:JPEG
  15. サムネイル画像作成:GIF
  16. サムネイル画像作成:クラス化


Guzzleの覚書

  1. PHPだけでクロスドメイン
  2. Guzzle3によるクロスドメイン

WordPressの覚書

  1. ワードプレスの概要
  2. 管理画面へのURL

PHPUnitの覚書

  1. 基本的なPHPUnitのインストール