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

HTML ファイルで php を使用したくない場合は、jquery フォーム プラグインhttp://jquery.malsup.com/form/を使用できます。

于 2012-07-29T22:21:12.903 に答える