我尝试制作一个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>
同样在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;}
?>
任何人都可以建议哪些方法可以帮助我解决这个问题。
答案 0 :(得分:0)
这样的事情应该起作用
if(!empty($_FILES['file']['tmp_name'])){
$file=$_FILES['file']['tmp_name'];
}elseif(!empty($_POST['sequence1'])){
$file = tmpfile();
fwrite($file, $_POST['sequence1']);
fclose($file);
}else{
///errror
}
$output=shell_exec("sh server.sh $file");
答案 1 :(得分:0)
将这些行添加到代码中应该有效!!
elseif(isset($_POST['sequence1'])){
$c=$_POST['sequence1'];
$f1='temp1.txt';
file_put_contents($f1, $c);
else{
///errror
}
$output=shell_exec("sh server.sh $f1");