0
回答
用Perl语句来代替常用的操作系统命令
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

虽然许多CGI程序在不同的服务器上都运行得很好,但是还有一个问题,当程序员需要对文件进行拷贝,改名或删除时,他用的是特定的操作系统上的shell命令,而没有采用perl语句。 (例如, system("cp $file1 $file2");) 这样做仅在Unix下行得通,而且,当你把未经检查的变量传给shell时,还将可能产生潜在的安全隐患
  下面是一些Perl语句,可以用来替换常用的操作系统命令,这些语句可以工作于任何操作系统上。
  ### 删除
  unlink("$cgidir/file.dat");
  ### 改名
  rename("$cgidir/oldfile.dat","$cgidir/newfile.dat");
  ### 拷贝
  open(FILE1,"<$cgidir/file1.dat");
  open(FILE2,">$cgidir/file2.dat");
  binmode(FILE1);
  binmode(FILE2);
  while (<FILE1>) { print FILE2; }
  close(FILE1);
  close(FILE2);
  ### 设置文件权限
  chmod(0777,"$cgidir/file.dat");
  ### 创建目录
  mkdir("$cgidir/newdir",0777);
  ### 删除目录
  rmdir("$cgidir/newdir");
  ### 当前日期/时间
  $date = scalar localtime(time);
  print $date;
  通过使用上面介绍的这些技巧,你不仅可以节省时间,而且也可以写出更好的程序。

举报
范堡
发帖于9年前 0回/488阅
顶部