我尝试制作一个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页面转移到varible并运行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脚本的文件
答案 0 :(得分:0)
解析php代码中的错误。
echo No input;
应该是
echo "No input";
答案 1 :(得分:0)
如果我理解你,这就是你需要做的事情:
<?php
if(isset($_POST['sequence1'])){
//get the input content
$textInput = $_POST['sequence1'];
//temp file name
$file = 'temp.txt';
// Write the contents back to the file
file_put_contents($file, $textInput);
$output=shell_exec("sh server.sh $file");
}else{
echo "No input";
}
?>