您的位置: 首页-> 电脑文摘-> 网站开发-> CGI/PERL-> 正文

用 perl 实现文件上传
作者佚名 来源InterNet 加入时间:2005-3-31
示例的 HTML 文件如下:
<html>
<body>
<form method="POST" action="psupload.cgi" ENCTYPE="multipart/form-data">
File 1:
<input type="file" name="FILE1">
<br>
File 2:
<input type="file" name="FILE2">
<br>
<input type="submit" value="Upload!">
</form>
</body>
</html>

后台的 Perl 程序如下:

#!/usr/bin/perl
#######################################
## Perl Services Upload Helper v1.0 ##
## http://www.perlservices.com ##
## perlservices@perlservices.com ##
## ###########################################
## You should carefully read all of the following terms and conditions ##
## before using this program. Your use of this software indicates your ##
## acceptance of this license agreement and warranty. ##
## This program is being distributed as freeware. It may be used ##
## free of charge, but not modified below the line specified. This copyright ##
## must remain intact. ##
## ##
## By using this program you agree to indemnify Perl Services from any ##
## liability. ##
## ##
## Selling the code for this program without prior written consent is ##
## expressly forbidden. Obtain permission before redistributing this ##
## program over the Internet or in any other medium. In all cases the ##
## copyright must remain intact. ##
## ##
## There are security hazards involved with this script. Read the readme file##
## before using the script. ##
################################################################################

##
## Start setting up options here:

## Your path to where you want your files uploaded.
## Note: NO trailing slash
$basedir = "/home/path/to/directory";

## Do you wish to allow all file types? yes/no (no capital letters)
$allowall = "yes";

## If the above = "no"; then which is the only extention to allow?
## Remember to have the LAST 4 characters i.e. .ext
$theext = ".gif";

## The page you wish it to forward to when done:
## I.E. http://www.mydomainname.com/thankyou.html
$donepage = "http://www.perlservices.com/";

################################################
################################################
## DO NOT EDIT OR COPY BELOW THIS LINE ##
################################################
################################################

 

 

 

use CGI;
$onnum = 1;

while ($onnum != 11) {
my $req = new CGI;
my $file = $req->param("FILE$onnum");
if ($file ne "") {
my $fileName = $file;
$fileName =~ s!^.*(\\|\/)!!;
$newmain = $fileName;
if ($allowall ne "yes") {
if (lc(substr($newmain,length($newmain) - 4,4)) ne $theext){
$filenotgood = "yes";
}
}
if ($filenotgood ne "yes") {
open (OUTFILE, ">$basedir/$fileName");
print "$basedir/$fileName<br>";
while (my $bytesread = read($file, my $buffer, 1024)) {
print OUTFILE $buffer;
}
close (OUTFILE);
}
}
$onnum++;
}

print "Content-type: text/html\n";
print "Location:$donepage\n\n";



[文章录入员:nancy]

相关文章
  • 用Perl制作页面计数器
  • 用Perl语句来代替常用的操作系统命令
  • perl 域名查询程序
  • 一个支持HTTP续传下载的PERL程序
  • Perl的经典用法
  • Perl 程序的属性祥解
  • perl中的日期处理
  • perl在win32平台上直接操作打印机
  • Perl用于实现遗传算法
  • Perl 字符匹配实例解说
  • 相关软件:
  • PERL 编程24学时教程
  • Perl Template Toolkit
  • Perl 24 小时自学通
  • CGI-Perl实例起步
  • ::PCBOOKCN'ADS::


    ::CGI/PERL::
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    其它
    ::阅读排行::
    ·perl中的日期处理
    ·深入研究表单提交方式:GET/P...
    ·如何利用Perl开发Intern...
    ·本地调试PERL CGI程序
    ·CGI应用程序开发基础
    ·PerlScript编写ASP
    ·PERL与MySQL(DBI接口...
    ·Perl用于实现遗传算法
    ·CGI编程--Perl的安装配置
    ·ASP、CGI、ISAPI、OD...