【发布时间】:2014-02-03 13:03:22
【问题描述】:
我尝试制作一个 html 和 php 页面来分别接受输入和处理它们。在 HTML 页面中,用户可以选择提供文本或上传文件。
<form action="target.php" method='POST' enctype="multipart/form-data" id="form">
<table width="950px" align="center">
<tr>
<table width="100%" align="center" cellpadding="0" cellspacing="0" class="table1" border="0">
<tr valign="middle" align="left"><td width="15" height="10"></td><td></td></tr>
<tr valign="middle" align="left">
<td width="15"></td>
<td><font color="White">input1</font>
<td width="15"></td>
<td>
<font color="Red"><input type="file" name="file" size="42"><br></font><font color="White">or paste below:</font><br>
<textarea name="sequence1" cols="96" rows="7"></textarea><br>
</font>
</td>
</tr>
</table> </form>
类似地在 PHP 页面中,我可以成功地将上传的文件从 html 页面传输到变量并运行 shell 脚本,但无法处理来自文本框的内容。
<?php
$a = $_FILES['file']['tmp_name'];
$c = (isset($_POST['sequence1'])) ? $_POST['sequence1'] : false;
if($a!=NULL)
{
$output=shell_exec("sh server.sh $a");
}
elseif ($c!=NULL){
$output=shell_exec("sh server.sh $c");}
else{
echo "No input";}
?>
任何人都可以帮我解决这个问题,或者您可以帮助我的其他方式将文本输入变量转换为 shell 脚本的文件
【问题讨论】:
-
至少你的表单标签没有关闭
-
$a需要对isset()进行三元分配。如果不使用'或"将其封装为字符串,则无法回显no input -
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是啊,反正谁需要 CSS。 -
@VladNikitin:我已经给出了表格的一部分,所以它没有出现。我已经以原始形式关闭了它。
-
@Ohgodwhy:我试图给出三元赋值 isset(),但在代码中并没有真正帮助我!!..做了一些小改动
标签: javascript php html shell