【PHP】これで分かる関数! – ファイル情報取得その1 –

PHP

更新履歴

更新日更新者更新内容
2021/8/24JJI・サンプルプログラムの実行結果に画面の画像を追加

はじめに

この記事で載せているサンプルプログラムは次の記事で紹介する関数を使用している場合があります。

ファイル情報取得

ファイル情報取得では、stat()関数を使用したサンプルプログラムを紹介します。
stat()関数から返却される情報は次のPHPマニュアルを見てください。

PHP: stat - Manual

サンプルプログラム1

ファイル情報を取得するサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】ファイル情報の取得、ファイルの場合<br>\n";

    $fileinfo = @stat("data/sample01.txt");
    if($fileinfo === false) {
        echo "Error: Not Found File or Directory<br>\n";
        return ;
    }

    echo_array1_line($fileinfo);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_08_31.php<br>
【PHP】ファイル情報の取得、ファイルの場合<br>
[0]:2395465327:<br>
[1]:3377699720555462:<br>
[2]:33206:<br>
[3]:1:<br>
[4]:0:<br>
[5]:0:<br>
[6]:0:<br>
[7]:80:<br>
[8]:1625386790:<br>
[9]:1625355514:<br>
[10]:1625355501:<br>
[11]:-1:<br>
[12]:-1:<br>
[dev]:2395465327:<br>
[ino]:3377699720555462:<br>
[mode]:33206:<br>
[nlink]:1:<br>
[uid]:0:<br>
[gid]:0:<br>
[rdev]:0:<br>
[size]:80:<br>
[atime]:1625386790:<br>
[mtime]:1625355514:<br>
[ctime]:1625355501:<br>
[blksize]:-1:<br>
[blocks]:-1:<br>
<br>

サンプルプログラム2

ディレクトリ情報を取得するサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】ファイル情報の取得、ディレクトリの場合<br>\n";

    $fileinfo = @stat("data/sub01");
    if($fileinfo === false) {
        echo "Error: Not Found File or Directory<br>\n";
        return ;
    }

    echo_array1_line($fileinfo);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_08_32.php<br>
【PHP】ファイル情報の取得、ディレクトリの場合<br>
[0]:2395465327:<br>
[1]:2533274790423097:<br>
[2]:16895:<br>
[3]:1:<br>
[4]:0:<br>
[5]:0:<br>
[6]:0:<br>
[7]:0:<br>
[8]:1625389222:<br>
[9]:1625355541:<br>
[10]:1625355521:<br>
[11]:-1:<br>
[12]:-1:<br>
[dev]:2395465327:<br>
[ino]:2533274790423097:<br>
[mode]:16895:<br>
[nlink]:1:<br>
[uid]:0:<br>
[gid]:0:<br>
[rdev]:0:<br>
[size]:0:<br>
[atime]:1625389222:<br>
[mtime]:1625355541:<br>
[ctime]:1625355521:<br>
[blksize]:-1:<br>
[blocks]:-1:<br>
<br>

サンプルプログラム3

ファイル情報を取得できない場合のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】ファイル情報の取得、存在しないファイル<br>\n";

    $fileinfo = @stat("data/nofile.txt");
    if($fileinfo === false) {
        echo "Error: Not Found File or Directory<br>\n";
        return ;
    }

    echo_array1_line($fileinfo);    
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_08_33.php<br>
【PHP】ファイル情報の取得、存在しないファイル<br>
Error: Not Found File or Directory<br>

コメント