2012-07-29 92 views
0

我有一个HTML格式的表单。提交后,我想在同一个HTML页面中显示文件的名称。我使用名为upLoad.php的PHP文件来回显文件的名称,但我该怎么做才能在同一个html页面中显示文件的名称? 我也不想在我的html代码中使用php代码。 HTML:在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

不能收到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> 
+0

显示的结果,你也可以使用<?PHP的echo $ _ SERVER [ 'PHP_SELF']; ?>而不是thispage.php – 2012-07-29 21:20:58

+0

查看@ asprin的答案,你可以只有'action =“”'。 – 2012-07-29 23:18:36

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

+0

但我不想在我的html代码中使用php代码。我想让他们分开 – user1559543 2012-07-30 06:26:16

+0

我不明白你的意思'我不想在我的html代码中使用php代码。我想让他们分开' – asprin 2012-07-30 06:49:52

+0

我想使用窗体的特殊部分我的网络面的数据,例如来改变文本区域的文本,我不想使用回声我想这个PHP文件在我的服务器端,所以我不能直接使用它的信息 – user1559543 2012-07-30 08:35:48