简单的HTML上传表单,无需PHP

3
我想知道是否有可能创建一个 HTML 上传表单,它是纯HTML的,不需要调用任何其他 PHP 语言来验证它。例如,通常创建文件上传表单的方式是这样的:创建一个上传文件表单 请查看以下用于上传文件的 HTML 表单:
<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

当PHP脚本完成其余操作时...

创建上传脚本

"upload_file.php"文件包含上传文件的代码:它将如下所示。

<?php
if ($_FILES["file"]["error"] > 0)
{
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
   {
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
 }
?>

我在想是否可以不使用PHP脚本,而仅使用HTML脚本来实现。

<html>
<body>

<form action="upload_file.html" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

也许另一个HTML脚本可以完成剩下的工作...

希望大家能够理解我的问题并回复,谢谢。

3个回答

5

HTML并不会“做”任何事情。您可以完全使用HTML创建表单。但是,如果服务器上没有任何东西处理上传,那么这是毫无意义的。您需要某些服务器端处理上传数据的东西;HTML不能实现这个。


2
当通过HTML表单将文件上传到Web服务器时,它会被放置在临时目录中,并分配一个临时文件名。您需要使用某种脚本(PHP、.jsp、Perl等)来“处理”文件,例如将其放置在正确的目录中并使用正确的文件名。如果您不这样做,当会话中调用下一个URL时,Web服务器将删除此文件。请注意保留HTML标签。

好的,谢谢。我在想HTML仍然可以处理上传。 - Mrportal
@Mrportal HTML是一种声明式元语言。它本身并不会执行任何操作,只是描述了文档格式。它既不能上传任何东西(浏览器负责此项工作),也无法处理任何服务器端的事务。 - deceze
@Borniet > "它被放置在临时目录中,使用临时文件名。" 是否有可能将这个临时文件设置为永久文件?例如:将过期日期设置为无限大? - Mark Messa

0

我认为,您需要客户端脚本来验证文件上传。如果是这样的话,我相信这个link会很有帮助。它解释了如何使用jQuery上传文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接