【PHP8上級試験対策】hash_file() と __FILE__ の使い方を理解する

  • URLをコピーしました!

はじめに

PHP8技術者認定上級試験の問題集に登場するコードを題材に、hash_file() 関数やマジック定数 __FILE__ / __DIR__ の挙動を整理します。試験で間違いやすいポイントを押さえて、効率よく理解していきましょう。

キーワード: hash() / hash_file()/ FILE/ DIR

目次

問題に出てきたコード

<?php
declare(strict_types=1); 
error_reporting(-1);

var_dump(hash_file('sha256', __FILE__ ));

コードの解説

  • declare(strict_types=1); → 型の厳密モードをON
  • error_reporting(-1); → すべてのエラーを表示
  • hash_file('sha256', __FILE__)このファイルの中身を SHA-256 でハッシュ化

出力例:

string(64) "a3c1e4f0b54e0ffcd1c2f0476a5c59c38b89f9c61b7b9d3e4d5d14cb7d39c3a4"

hash() と hash_file() の違い

  • hash() → 文字列を直接ハッシュ化
  • hash_file() → ファイルの中身をハッシュ化

__FILE__ と __DIR__ の違い

  • __FILE__ → ファイルのフルパス(例:/var/www/html/test.php
  • __DIR__ → ディレクトリのフルパス(例:/var/www/html

basename() を使った例

echo basename(__FILE__); // test.php
echo basename(__DIR__);  // html

まとめ

  • hash_file() はファイル全体をハッシュ化する関数
  • __FILE__ は「ファイル名まで含む絶対パス」
  • __DIR__ は「ディレクトリの絶対パス」
  • basename() を組み合わせると、ファイル名やディレクトリ名だけを抜き出せる

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次