我有一个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"];
}
答案 0 :(得分:1)
保持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
答案 1 :(得分:0)
您无法仅使用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>
答案 2 :(得分:0)
如果你真的不想在HTML文件上使用php,你可以使用jquery表单插件http://jquery.malsup.com/form/