我尝试使用输入标记的路径打印文件名。但它只打印文件名而不打印路径。
我的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 ,如何更改它。
答案 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应用程序。