Board logo

标题: [转帖]两个关于文件操作的CGI程序 [打印本页]

作者: cnangel    时间: 2003-12-9 12:13     标题: [转帖]两个关于文件操作的CGI程序

1、程序实现了将一个目录下面的所有文件(包括子目录)名都记录在tde.txt这个文件中(建立文件数据库)。
#!/usr/bin/perl
opendir(TD,'C:/httpd/HtDocs');#打开目录并将此目录下的所有文件和子目录名建立文件句柄TD。
my @aa=grep(!/^\.\.?$/,readdir TD);#去除TD中的..,并将TD的内容赋给数组@aa.
closedir(TD);#关闭TD
$tv="\n";#将换行符\n赋给变量$tv
open(OUT,">>C:/httpd/HtDocs/cgi-bin/tde.txt");#以写入的方式打开文件tde.txt
foreach(@aa){ #进入循环,在每一个循环中,系统将读入数组@aa的每一个数据并赋给内定变量$_
print OUT "$_$tv";#将变量$_和$tv写入文件tde.txt中,由于$tv是换行符,所以每个$_将占一行。
}
close(OUT);#关闭文件tde.txt
print "Content-type:text/html","\n\n";
print"ok!";#向屏幕输出运行结束的提示。

2、程序实现了将C:/httpd/HtDocs/gallery/tn_.gif的文件反复复制到C:/httpd/HtDocs/gallery/te下,并改名为原C:/httpd/HtDocs/gallery/te下的文件的文件名头加上tn_。
#!/usr/bin/perl
opendir(TD,'C:/httpd/HtDocs/gallery/te');#打开目录并将此目录下的所有文件和子目录名建立文件句柄TD。
my @aa=grep(!/^\.\.?$/,readdir TD);#去除TD中的..,并将TD的内容赋给数组@aa.
closedir(TD);#关闭TD
$re="tn_";#将tu_赋给变量$tv
foreach(@aa){ #进入循环,在每一个循环中,系统将读入数组@aa的每一个数据并赋给内定变量$_
open(OUT,"C:/httpd/HtDocs/gallery/tn_.gif");#打开文件tn_.gif建立文件句柄OUT
binmode(OUT);#以二进制的方式读取tn_.gif的数据。
@FF=<OUT>;#将OUT的内容赋给数组@FF.
open(OUT1,">C:/httpd/HtDocs/gallery/te/$re$_");#建立与变量$re和$_内容相关的文件。
print OUT1 @FF;#将数组内容写入文件
close(OUT1);#关闭文件
close(OUT);#关闭文件tn_.gif
}
print "Content-type:text/html","\n\n";
print"ok!";#向屏幕输出运行结束的提示。




欢迎光临 星星博客 (http://bbs.huhoo.net/) Powered by Discuz! 7.0.0