MOMOYA.Labs 桃屋ラボ
最終更新日時
 2019年05月29日(Wed)
コンテンツ
    トップページ
  • VB
    • フォーム
    • コントロール
    • インターネット
  • C#
    • フォーム
    • ファイルシステム
    • データ統計
    • SQLite
  • VBA
    • Excel
    • Tips
  • PHP
    • 基礎
    • 文字列
    • ファイルシステム
    • 通信
    • PEAR
    • Twitter API
    • Tips
  • Ruby
    • Rubyを始めよう!
    • ファイルアクセス
    • ディレクトリ
    • Excel操作
  • Python
    • Pythonを始めよう!
  • OpenSocial
    • 各種情報
  • HTML&CSS
    • HTML5
    • CSS
    • iPhone向けサイト作成
    • HTML Tips
    • CSS Tips
  • Javascript
    • ウィンドウ関連
    • ナビゲーション
    • 便利なスクリプト
    • Tips
  • プログラム全般
    • .Net Framework
    • 数学?
    • その他
  • Oracle
    • Tips
    • 各種情報
  • DB2
    • Tips
  • MySQL
    • 開発で使いそうなSQL
    • メンテナンス
  • ネットワーク
    • デバイス
    • その他
  • Windows
    • Vista
    • Windows 7
    • IIS
    • Excel
    • 拡張
    • コマンドプロンプト活用
    • 不具合対応
    • ショートカットキー
    • Tips
  • Windows FreeSoft
    • ブラウザ(FireFox)
    • Web開発関連
    • グラフィック
    • プログラミング
    • SQL
    • VMware
    • プロジェクト管理
    • その他
    Mac
  • Linux&Unix
    • Kubuntu
    • Fedora
    • Debian
    • NetBSD
    • Tips
  • Linux Software
    • オンラインストレージ
  • インターネット知識
    • ホームページ作成
    • Javascriptで操作
    • アフィリエイト
    • ネットで見つけた面白いもん
    • 便利なサイト
    • 便利な活用方
    • Twitter
    • その他
  • iPhone
    • おすすめアプリ
    • Jailbreak
    • 検証
  • 雑記
    • ネットワーク関連
    • ハードウェア関連
    • セキュリティ関連
    • 読み方
    • 故障?保証対象?
    • その他
  • 雑記(IT・デジモノ以外)
    • 言葉の意味
    • 転職関連
    • その他
  • MOMOYA's FreeSoft
    • Keyboard Launchar
  • 個人的メモ
    • リンクメモ
    • ネタ
サイト内検索
Sponsored Link
プロフィール

名前:桃屋
歳/性別:20代/Male
生息地:東京都(23区内)
Sponsored Link
リンク(ジャンル別50音順|■ = 相互)
【 プログラム全般 】
■ MadCap ・ SQLの窓 ・ Wordpress初心者な技術屋の忘備録
【 VB,C# 】
・ C#,VB.NET入門 ・ DOBON.NET
【 PHP 】
・ phpspot ・ Smartyマニュアル ・ 忘れっぽいエンジニアのPHPリファレンス
【 API 】
・ Google Maps API リファレンス ・ Google MAPS APIプログラミング ・ Twitter API Viewer
【 HTML&CSS 】
・ Tag index
【 JavaScript 】
・ 432 + JavaScript Libraries ・ jsdo.it
【 その他のプログラミング言語 】
・ 逆引きPython ・ 逆引きRuby
【 プログラミング関連 】
・ 正規表現メモ
【 読み物 】
・ MSDN マガジン
【 Oracle 】
・ Oracle管理者のためのSQLリファレンス ・ 忘れっぽいエンジニアのORACLEリファレンス
【 Linux,UNIX 】
・ CentOSで自宅サーバー構築 ・ Fedoraで自宅サーバー構築 ・ FTP/理化学研究所 ・ Linuxコマンド逆引き大全 ・ Linuxで自宅サーバ
【 便利サイト 】
・ Wayback Machine
【 Webツール 】
・ .htaccess Editor ・ Convert C# to VB.NET ・ Convert VB.NET to C# ・ QRコード作成 ・ テキスト変換サービス
【 開業関連 】
・ プログラマーとSEのフリーランスのススメ
【 ブログ類 】
■ ぱんだぁにゃ ■ 元携帯屋店員がブログにちょうせん! ■ 日常気まぐれブログ
【 その他 】
・ 2018年 秋アニメ 一覧 ・ 2018年 夏アニメ 一覧 ・ 2018年 春アニメ 一覧 ・ アキバイズム
-> リンク一覧 
モバイルサイト
RSS 2.0
更新情報をRSSで取得!
アクセスカウンター


現在の閲覧者数:

設置日:2008年12月05日

[PHP-ファイルシステム] 指定したディレクトリのファイル情報の一覧を取得する

指定したディレクトリ内にあるファイルの名前、更新日、アクセス権、所有者についての情報を一覧で取得し、表示するためのサンプルソースです。

出力結果は、視覚的に見やすいようにテーブル表示しています。

■サンプルソース
<?
$target_dir = "./";	// 一覧を取得する対象のディレクトリ

// ディレクトリリスト部のHTMLソース作成
echo "\n";
echo "<table border='1'>\n";
echo "<tr>\n";
echo "<th width='220' title='サーバー上でのファイル名'>ファイル名</th>\n";
echo "<th width='110' title='ファイル更新された日時'>最終更新日</th>\n";
echo "<th width='110' title='ファイルのアクセス権限'>アクセス権</th>\n";
echo "<th width='110' title='ファイルの所有権を持つユーザー名'>ファイル所有者</th>\n";
echo "</tr>\n";
// カレントディレクトリの一覧を取得
if ($handle = opendir($target_dir)) {

	// '0'というディレクトリ名があった場合ループが止まってしまうため、型で厳密に比較
	// PHP 4.0.0-RC2 より以前のバージョンでは !== は存在しない事に注意
	while (false !== ($file = readdir($handle))) {

		// is_dir関数をis_dir関数に置き換えでディレクトリ一覧を出力
		// if文を取り除くとファイル・ディレクトリの両方を出力します
		if (is_file($target_dir . $file)) {
			echo "<tr>\n";

			// ---------------
			// ファイル名
			// ---------------
			echo "<td>" . $file . "</td>\n";

			// ---------------
			// 更新日
			// ---------------
			echo "<td>" . date("Y-m-d H:i", filemtime($target_dir . $file)) . "</td>\n";

			// ---------------
			// パーミッション
			// ---------------
			$perms = fileperms($target_dir . $file);

			// このサンプルソースで実際に通過するのは、「通常のファイル」のみです。
			if (($perms & 0xC000) == 0xC000) {
				// ソケット
				$info = 's';
			} elseif (($perms & 0xA000) == 0xA000) {
				// シンボリックリンク
				$info = 'l';
			} elseif (($perms & 0x8000) == 0x8000) {
				// 通常のファイル
				$info = '-';
			} elseif (($perms & 0x6000) == 0x6000) {
				// ブロックスペシャルファイル
				$info = 'b';
			} elseif (($perms & 0x4000) == 0x4000) {
				// ディレクトリ
				$info = 'd';
			} elseif (($perms & 0x2000) == 0x2000) {
				// キャラクタスペシャルファイル
				$info = 'c';
			} elseif (($perms & 0x1000) == 0x1000) {
				// FIFO パイプ
				$info = 'p';
			} else {
				// 不明
				$info = 'u';
			}

			// 所有者
			$info .= (($perms & 0x0100) ? 'r' : '-');
			$info .= (($perms & 0x0080) ? 'w' : '-');
			$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));

			// グループ
			$info .= (($perms & 0x0020) ? 'r' : '-');
			$info .= (($perms & 0x0010) ? 'w' : '-');
			$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));

			// 全体
			$info .= (($perms & 0x0004) ? 'r' : '-');
			$info .= (($perms & 0x0002) ? 'w' : '-');
			$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));

			echo "<td>" . $info . "</td>\n";

			// ---------------
			// 所有者
			// ---------------
			$owner = posix_getpwuid(fileowner($target_dir . $file));
			echo "<td>" . $owner['gecos'] . "</td>";

		}

	}

	// ディレクトリハンドルを閉じる
	closedir($handle);

}
echo "</table>\n";
?>

■サンプルソースで使った特記するべき関数
opendir関数 - ディレクトリハンドルをオープンする
readdir関数 - ディレクトリハンドルからエントリを読み込む
closedir関数 - ディレクトリハンドルをクローズする
is_file関数 - 通常ファイルかどうかを調べる
filemtime関数 - ファイルの更新時刻を取得する
fileperms関数 - ファイルのパーミッションを取得する
fileowner関数 - ファイルの所有者を取得する
posix_getpwuid関数 - 指定 ID のユーザに関する情報を返す
「PHP プログラミング」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。

作成日:2008年06月09日(Mon)

Labs SYSTEM Ver0.93 @ Copyright(c)2007−2025 MOMOYA SYSTEM