| 
 
     
- UID
 - 1 
 - 威望
 - 1240 点 
 - 金钱
 - 24019 金币 
 - 点卡
 - 317 点 
 
  | 
1#
 
发表于 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!";#向屏幕输出运行结束的提示。 |   
 
 
 
 
                     我是一个呼吸着现在的空气而生活在过去的人 
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠 
                                     我已习惯了孤独,爱上孤独 
                                 他让我看清了自我,还原了自我 
                             让我再静静的沉思中得到快乐和满足 
                                   再孤独的世界里我一遍又一遍 
                                   不厌其烦的改写着自己的过去 
                                             延伸到现在与未来 
                                       然而那只是泡沫般的美梦 
                                 产生的时刻又伴随着破灭的到来 
                         在灰飞烟灭的瞬间我看到的是过程的美丽 
                                      而不是结果的悲哀。。。 
 | 
 
 
 
 |