在Perl中,如何从HTML文件上载字段获取访问者计算机上文件的完整路径?

时间:2014-09-28 13:40:46

标签: html perl cgi

我尝试使用输入标记的路径打印文件名。但它只打印文件名而不打印路径。

我的HTML脚本

<html>
<head>
<title>test</title>
</head>
<body>
<form action="file.pl" method="post">
<input type = "file" name = "name">
<input type = submit>
</form>
</body>
</html>

我的perl脚本

use CGI;
$cgi = CGI->new();
$filename = $cgi-> param('name');
print "$filename";

在上面的脚本中,我从 D:\ new_folder \ file.txt 中选择文件,它只打印 file.txt ,如何更改它。

1 个答案:

答案 0 :(得分:4)

这与Perl无关。您可以编写一个可以执行此操作的Web浏览器,但真正的浏览器已经停止传递完整路径名称。例如,请参阅Firefox bug report #143220

  

John Keizer(jkeiser)2002-08-31 13:57:11 PDT

     

没有说明这一点,但我们明确地尝试不发送它以避免   发送有关用户本地文件系统的信息。

另请参阅release notes for Firefox 3

  

文件上传字段

     

在Firefox的早期版本中,有些情况下,当用户提交文件进行上传时,该文件的整个路径可供Web应用程序使用。此隐私问题已在Firefox 3中得到解决;现在只有文件名本身可用于Web应用程序。