ホーム管理専用(CGIメモ)≫CGI Perl メモ:ディレクトリ

 

CGI Perl メモ:ディレクトリ   100 / 5件中 ( 1 〜 5 )    1      【登録】 (制限あり)
▼ 最初に登録されたトピックス
CGI Perl メモ:ディレクトリねっとまがじん 2009/11/30 14:01:56

▲ 最初に登録されたトピックス

 

5. ディレクトリの削除 例3 ねっとまがじん 2009/12/02 02:11:22

File::Pathのrmtreeを使用する。
削除するディレクトリのパーミッションに注意。
削除するディレクトリは777。そのディレクトリ下にディレクトリがあるときも、そのディレクトリも777でないと削除できない。

use File::Path;

$w_dir = "./xxxxx";
$cnt = rmtree("$w_dir",0,0);

※$cntに削除したファイル件数が入る。

4. ディレクトリの削除 例2ねっとまがじん  2009/12/02 02:02:16

ディレクトリ下にあるファイルを全て削除してからディレクトリをする例

$dir = "./xxxxx";
opendir DIR, $dir;
@files = grep { !m/^(\.|\.\.)$/g } readdir DIR;
close DIR;
$flag = @files;
if ( $flag ) {
foreach $file ( @files ) {
unlink "$dir$file";
}
}
rmdir $dir;

3. ディレクトリの削除 例1ねっとまがじん  2009/12/02 01:59:40

ディレクトリ下にあるファイルを全て削除してからディレクトリをする例

$w_dir = "./xxxxx";
opendir(DIR,"$w_dir") || &error("$w_dir が開けません!");
while ($filename = readdir DIR ) {
 $w_ck = 0;
 if ($filename eq '.') {$w_ck = 1;}
 if ($filename eq '..') {$w_ck = 1;}
 if ($w_ck eq 0) {
  $w_del = "./$p_vdir/$p_dir/$filename";
  unlink ($w_del); # ファイルの削除
 }
}
closedir(DIR); # ディレクトリclose
#--- ディレクトリの削除 ディレクトリが空でないと失敗
$rc = rmdir $w_dir;
if ($rc ne 1) { &error("トピックスディレクトリの削除ができません!code=$rc:$!");}

2. ディレクトリの作成ねっとまがじん  2009/11/30 14:32:06

ディレクトリの作成。 以下サンプル。
$dir_name = "./xxxx";
mkdir $dir_name,0755 or die "データディレクトリ失敗!:$!";
chmod 0777,$dir_name;

1. ディレクトリを作ると . と .. ができるねっとまがじん  2009/11/30 14:21:59

ディレクトリを作ると . と .. ができる
 .  :現在のディレクトリを指す
 .. :上位のディレクトリを指す

mkdir でディレクトリを作り、その後のプログラムでディレクトリ内のファイル個数をチェックすると、なにやら個数が多いのに気づく。
FTPで見ると合っている。そこでプログラムでディレクトリ内のファイル一覧を表示すると、上が出てきたしだいである。 ふーんん初めて知った。(-_-)

※ディレクトリ内の処理をするときは、この . と ..は無視するようにする。

 

CGI Perl メモ:ディレクトリ   100 / 5件中 ( 1 〜 5 )    1      【登録】 (制限あり)

 


ホーム