返回列表 回复 发帖

[转帖]两个关于文件操作的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!";#向屏幕输出运行结束的提示。

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表