0

我有一个 HTML 表单。提交后,我想在同一个 HTML 页面中显示文件名。我使用一个 PHP 文件调用upLoad.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"];
}
4

3 回答 3

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

于 2012-07-29T23:02:28.150 回答
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>
于 2012-07-29T21:17:54.557 回答
0

If you really don't want to use php on the HTML file, you could use jquery form plugin http://jquery.malsup.com/form/

于 2012-07-29T22:21:12.903 回答