动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Cgi/Perl → 阅读文章

 PERL 的 CGI 文件及目录操作

作者来源: 
阅读 2408 人次 , 2006-4-20 8:51:00 

大多数程序都不是孤立的,它们与它们的环境相互作用。很多的程序也需要通过文件操作实现数据的存贮和交换。文件句柄(file handle)是Perl程序中为程序和外部世界提供I/O连接的名称。建议全部使用大写字母以示与变量等的区别。 特别地,也可以将STDIN/STDOUT/STDERR也认为是Perl的文件句柄,分别代表标准输入/标准输出/标准错误输出。

  打开及关闭文件   

  Perl的文件操作与C语言极为相似。如:

  open(FILENAME,"abc.txt");   

  该调用为读文件打开,若为写文件而打开,需在文件名前加上大于号:

  open(FILENAME,">abc.txt");

  若要追加至文件尾,可在文件名前加上两个大于号:   

  open(FILENAME,">>abc.txt");   

  以上三种open()格式在成功时返回真,失败时返回假。但程序中通常没有提示,出错时往往会被人们忽略。通常当需要给出出错提示时,可加入die()函数。例:   

  open(OUTFILE,">/tmp/outfile")  

  die "出错,不能建立/tmp/outfilen";   

  当只有open失败时,才会执行die给出出错提示。

  对文件句柄的操作完成后,可以用close操作符关闭文件。如:   

  close(OUTFILE);   

  -x文件测试   

  Perl的文件操作也可以先测试文件是否存在,是否可读写等。如:  

  $x="abc.txt";

  if(-e $x) { #abc.txt是否存在?

  #存在操作

  } else {

  printf "文件不存在。n";

  }   

  -e操作符测试文件或目录是否存在。   

  以下为文件测试清单:   

  文件测试测试操作符提供的信息

  -r文件或目录可读

  -w文件或目录可写

  -x文件或目录执行

  -o文件或目录归用户所有

  -R文件或目录对真正用户可读

  -W文件或目录对真正用户可写

  -X文件或目录对真正用户执行

  -O文件或目录归真正用户所有

  -e文件或目录存在

  -z文件存在且大小为0

  -s文件或目录存在且不为0(返回字节数)

  -f文件为普通文件

  -d文件为目录

  -l文件为符号链接

  -p文件为命名管道(FIFO)

  -S文件为一个套口(socket)

  -b文件为块特殊文件

  -c文件为字符特殊文件

  -t打开tty控制台的文件句柄

  -u文件或目录是设置用户ID号

  -g文件或目录是设置用户组ID号

  -k文件或目录的sticky位置位

  -T文件是文本文件

  -B文件是二进制文件

  -M以天为单位的存在时间

  -A以天为单位访问时间

  -C以天为单位同代码更改时间

  删除文件

  Perl的unlink()操作符可实现删除文件。如:

  unlink("abc.txt"); #删除abc.txt   

  文件重命名

  Perl的rename()操作符可实现文件重命名。如:

  rename("abc","zmd")  die "出错,不能更名";

  此时将abc更名为zmd,成功返回真,否则给出出错提示。

  目录操作

  Perl中处理目录非常类似于处理文件。

  打开目录句柄:

  opendir(ETC,"/etc")  die "出错,不能打开目录";   

  关闭目录句柄:   

  closedir(ETC);   

  创建目录:   

  mkdir("zmd",0777)  die "不能创建zmd目录";   

  0777为内部权限格式。   

  删除目录:

  rmdir("zmd")  die "不能删除zmd目录"。   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:CGI简明教程第六章
· 下一篇:CGI脚本在WIN2000、WINNT下安装
· 用Perl制作留言本实例之二
· Python 快速入门
· CGI教学:CGI安全问题(四)
· CGI教学:CGI安全问题(七)
· 从细节处提升Perl性能


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077