is_readable

関数の概要

PHPの is_readable 関数は、指定したファイルやディレクトリが読み込み可能かどうかを確認するための関数です。ファイルアクセスを行う前に、そのファイルが読み込める状態か安全にチェックする用途で使われます。特にファイル操作やアップロード処理など、ファイルの権限管理が重要な場面で役立ちます。

パラメータの説明

  • filename : 必須
    読み込み可能かどうかを調べたいファイルまたはディレクトリのパス(文字列)を指定します。絶対パスや相対パスを使用できます。

戻り値

is_readable は、指定したファイルが読み込み可能であれば TRUE を返し、読み込みができない場合やファイルが存在しない場合は FALSE を返します。

使用例

基本的な使い方

$file = 'example.txt';
if (is_readable($file)) {
    echo "ファイルは読み込み可能です。";
} else {
    echo "ファイルが読み込めません。";
}

上記の例では、example.txtファイルが読み込み可能かどうかを判定し、結果に応じたメッセージを表示しています。

相対パスと絶対パスの使用例

// 相対パス
$relativePath = './data/sample.txt';

// 絶対パス
$absolutePath = '/var/www/html/data/sample.txt';

if (is_readable($relativePath)) {
    echo "相対パスのファイルは読み込み可能です。";
}

if (is_readable($absolutePath)) {
    echo "絶対パスのファイルは読み込み可能です。";
}

相対パス・絶対パスどちらでも利用可能で、環境や用途に応じて使い分けることができます。

ディレクトリの読み込み可能チェック

$dir = '/var/www/html/uploads';

if (is_readable($dir)) {
    echo "ディレクトリは読み込み可能です。";
} else {
    echo "ディレクトリが読み込めません。";
}

is_readable はファイルだけでなく、ディレクトリに対しても使用可能です。ディレクトリの読み込み権限チェックにも役立ちます。

関連する関数

  • file_exists – ファイルやディレクトリが存在するかを確認する
  • is_writable – ファイルやディレクトリが書き込み可能かを確認する
  • is_file – 指定パスがファイルかどうかを判定する
  • is_dir – 指定パスがディレクトリかどうかを判定する

まとめ

is_readable はPHPでファイルやディレクトリが読み込み可能かを簡単にチェックできる関数です。ファイル処理の前に権限や存在確認を安全に行うため、実務でもよく使われます。読み込み権限の問題によるエラーを防止するために、適切に活用しましょう。