My Photo

« URLエンコード、BASE64エンコード、MIMEヘッダエンコード | Main | PHPメモ021:ファイル関連の関数 その2 »

March 12, 2012

PHPメモ020:ファイル関連の関数 その1

ファイル関連の関数は「ストリームコンテキスト」というものを引数に取るものがあるが、これがなんなのかは今のところ考えない。

string getcwd()
カレントのワーキングディレクトリを取得する。

resource opendir(<パス>[, <ストリームコンテキスト>])
パスで指定したディレクトリを開きディレクトリハンドルを返す。

string readdir([<ディレクトリハンドル>])
ディレクトリから次のエントリ名(ファイル名またはディレクトリ名)を返す。返すものがなければFALSEを返す。
引数が省略された場合は opendir() が最後に開いたものを使用する。

void closedir([<ディレクトリハンドル>])
ディレクトリを閉じる。
引数が省略された場合は opendir() が最後に開いたものを使用する。

array scandir(<パス>[, <ソート順>[, <ストリームコンテキスト>]])
パスで指定したディレクトリのファイル名およびディレクトリ名をすべて取得し配列として返す。
ソート順を省略した場合は昇順。

サンプルーコード
$cwd = getcwd();
dispArray(scandir($cwd));
dispArray(scandir($cwd, 1));

function dispArray($arr) {
	foreach ($arr as $key => $val) {
		echo '[' . $key . ']=>' . $val . ',';
	}
	echo "\n";
}
サンプルコードの出力
[0]=>.,[1]=>..,[2]=>customers,[3]=>test.php,[4]=>tmp.php,
[0]=>tmp.php,[1]=>test.php,[2]=>customers,[3]=>..,[4]=>.,

bool is_file(<ファイル名>)
指定したファイルがファイルであるかを調べる。

bool is_executable(<ファイル名>)
指定したファイルが実行可能であるかを調べる。

bool is_writable(<ファイル名>)
指定したファイルが書き込み可能であるかを調べる。ディレクトリに対しても使用できる。

int filesize(<ファイル名>)
ファイル名のファイルサイズを使用する。

bool is_dir(<ファイル名>)
指定したファイルがディレクトリであるかを調べる。

float disk_free_space(<ディレクトリ名>)
指定したディレクトリのディスクパーティションの利用可能なバイト数を返す。

int filemtime(<ファイル名>)
指定したファイルの更新時刻を取得する。

サンプルーコード
$cwd = getcwd();
echo "current directory: ${cwd}\n";
echo 'free ' . disk_free_space($cwd) . "bytes\n";

if (is_dir($cwd)) {
	if ($dh = opendir($cwd)) {
		while (FALSE !== ($filename = readdir($dh))) {
			if (is_file($filename)) {
				echo " file     :${filename}:";
				echo is_executable($filename) ? 'x' : '-';
				echo is_writable($filename) ? 'w' : '-';
				echo ' ' . filesize($filename) . "bytes\n";
			} else {
				echo " directory:${filename}:";
				echo is_writable($filename) ? 'w' : '-';
				echo "\n";
			}
		}
	}
	closedir($dh);
}
サンプルコードの出力
current directory: C:\applications\Apache2.2\htdocs\part5
free 420778958848bytes
 directory:.:w
 directory:..:w
 directory:customers:w
 file     :test.php:-w 570bytes
 file     :tmp.php:-w 7386bytes

« URLエンコード、BASE64エンコード、MIMEヘッダエンコード | Main | PHPメモ021:ファイル関連の関数 その2 »

PHP」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/54205332

Listed below are links to weblogs that reference PHPメモ020:ファイル関連の関数 その1:

« URLエンコード、BASE64エンコード、MIMEヘッダエンコード | Main | PHPメモ021:ファイル関連の関数 その2 »

August 2017
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof