以PHP格式处理来自文本框和文件的输入

时间:2014-01-30 21:45:22

标签: php html css web

我尝试制作一个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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <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>&nbsp;&nbsp;&nbsp;&nbsp;
    </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;}
    ?>

任何人都可以建议哪些方法可以帮助我解决这个问题。

2 个答案:

答案 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");