[PHP-users 32076] ファイルブラウザ
kaz
okui @ sannet.ne.jp
2007年 5月 5日 (土) 23:35:55 JST
こんばんは 奥井です。
phpでファイルブラウザのようなものを作ろうとしています。
あるディレクトリの内容を表示してディレクトリをクリックしたらさらにそのディレクトリの内容を表示し、ファイルなら拡張子に応じて実行するというようなものを考えています。
ディレクトリの内容を配列に格納する関数はできましたが、そのディレクトリ内容を表示したりディレクトリをクリックしたらその中のディレクトリを表示するhtml文を作成する方法が思い付きません。検索して色々調べましたがどうもよくわかりません。
なにか良い方法があればアドバイス宜しくお願いします。
function make_dirtree($directory){
static $dircount=0;
static $filecount=0;
$dirnum=0;
$filenum=0;
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if (is_dir($directory.'/'.$file)){
$dircount++;
$temp_directory[$file] = array('type' => 'directory','name' => $file,'path' => $directory.'/'.$file,'size' => du($directory.'/'.$file)."バイト",'sub' =>make_dirtree($directory.'/'.$file));
$dirnum++;
} else {
$filecount++;
$temp_file[$file] = array('type' => 'file','name' => $file,'path' => $directory.'/'.$file,'size' => round((filesize($directory.'/'.$file))/1048576,1)."MB");
$filenum++;
}
}
}
closedir($handle);
} else {
$erorr="ディレクトリのオープンに失敗しました!!";
}
ksort($temp_directory);
ksort($temp_file);
$result = array_merge($temp_directory,$temp_file,$dirnum,$filenum,$dircount,$filecount);
return $result;
PHP-users メーリングリストの案内