我正在使用 perl 将文件上传到服务器,然后对其进行解析以从中获取信息。该页面在 cgi 脚本中,我正在使用 perl 模块
use File::Basename;
我的服务器端代码是:
my $path = $cgi->param('filename');
my $filename = basename($path);
if ($filename) {
if ($filename =~ /.csv/i) {do nothing;}
else {
$error = 'please upload a csv file';
push @error, $error;
}
}
我已经尝试了一切,代码在 Chrome、Safari、Firefox 上运行良好,但是当我在 IE8 上测试它时。文件名更改为完整路径名。因此,例如 C:/meetup/sf/perl.csv 是完整路径。在 CSF 中,文件名显示为 perl.csv,但在 IE8 中:显示为 C:/meetup/sf/perl.csv
有人可以帮我找出获取文件名的正确方法,以便它在所有浏览器中正确显示。
谢谢,
帕里克