1 <?php
2 //ディレクトリを開く
3 $dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");
4 while($file = readdir($dir)) {
5 if (!is_dir($file)){
6 echo $file ."<BR>";
7 }
8 }
9 closedir($dir);
10 ?>
■フォルダも表示
1 <?php
2 //ディレクトリを開く
3 $dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");
4 while($file = readdir($dir)) {
5 if (!is_dir($file)){
6 echo $file ."<BR>";
7 }
8 else {
9 echo "/".$file ."<BR>";
10 }
11 }
12 closedir($dir);
13 ?>
■フォルダにリンクもつける
<?php
$dir=@opendir(getcwd()) or die("ディレクトリのオープンに失敗しました");
while($file = readdir($dir)) {
if (!is_dir($file)){
echo $file ."<BR>";
}
else { ?>
<a href="<?php echo $file; ?>"><?php echo $file; ?></a><br/>
<?php
}
}
closedir($dir);
?>
・参照
http://masago.kir.jp/php20041028.php
■ひとつ上のフォルダを見に行く場合
ディレクトリかどうかを判断するis_dirはそのフォルダを参照しにいった場合に返り値を返すので、
opendirの値だけ上の階層にしても、if (!is_dir($file))のままではfalseしか戻さない。
※ファイル名だけ渡しても、フォルダとは判断してくれない
以下のようにしたら上手くいった
if (!is_dir('..'.DIRECTORY_SEPARATOR.$file)){
・DIRECTORY_SEPARATOR
ディレクトリの区切り文字
※これによりOSの違いを回避できる。べつにここでは"/"でもよかったけど、使ってみた。
■参照
PHP入門"is_dir"
http://nyx.pu1.net/function/filesystem/is_dir.html
PHPで、ディレクトリ構造をXMLに書き出すプログラムを作成しています。
http://q.hatena.ne.jp/1182482759
OSの判別
http://nyx.pu1.net/sample/tips/check_os.html
0 件のコメント:
コメントを投稿