我有一个HTML格式的表单。提交后,我想在同一个HTML页面中显示文件名。我使用一个名为upLoad.php
的PHP文件来回显文件名,但我应该怎么做才能在同一个html页面中显示文件名?我也不想在我的html代码中使用php代码。HTML:
<form action="upLoad.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" name="submit" value="submit"/>
</form>
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"];
}
保持action
为空
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" name="submit" value="submit"/>
</form>
把这个放在页面的开头
if(isset($_POST['submit']))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$print = "Upload: " . $_FILES["file"]["name"] . "<br />";
$print .= "Type: " . $_FILES["file"]["type"] . "<br />";
$print .= "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
$print .= "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
现在,您可以在同一页面的任何位置使用$print
变量,通过使用echo $print
来显示结果
您无法仅使用HTML接收数据,因此您必须使用将第一个页面创建为.php
<?php
if(isset($_FILES))
{
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"];
}
}
?>
<form action="thispage.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" name="submit" value="submit"/>
</form>
如果你最终使用了多个表单,你可以在你的操作中使用一个get变量,如下所示:
<?php
if($_GET['delete'] == 1)
{
//PHP code
}
elseif($_GET['update'] == 1)
{
//PHP code
}
?>
<form action='thispage.html?delete=1' method='POST' >
<!-- html inputs -->
</form>
<form action='thispage.html?update=1' method='POST' >
<!-- html inputs -->
</form>
或者,如果你不喜欢这样的GET变量,只需使用隐藏输入:
<?php
if($_POST['delete'] == 1)
{
//PHP code
}
elseif($_POST['update'] == 1)
{
//PHP code
}
?>
<form action='thispage.html' method='POST' >
<input type='hidden' name='delete' value='1' />
<!-- html inputs -->
</form>
<form action='thispage.html' method='POST' >
<input type='hidden' name='update' value='1' />
<!-- html inputs -->
</form>
如果你真的不想在HTML文件上使用php,你可以使用jquery表单插件http://jquery.malsup.com/form/