单击html按钮后如何调用php代码的特定部分?

时间:2019-06-03 20:51:21

标签: php html button

我正在处理如下所示的php代码,其中我正在使用系统命令ffmpeg将mp4文件转换为mp3。

<?php 

$mp4_files = preg_grep('~\.(mp4)$~', scandir($src_dir)); 

if (isset($_GET['go'])) {           
foreach ($mp4_files as $f)                          // Line#A
 {

     $parts = pathinfo($f);
     switch ($parts['extension'])
     {
         case 'mp4' :
             $filePath = $src_dir . DS . $f;
             system('ffmpeg -i ' . $filePath . ' -map 0:2 -ac 1 ' . $destination_dir . DS . $parts['filename'] . '.mp3', $result);  // Through this command conversion happens. 
     }
 }
}
?>

转换完成后,我将所有内容解析到表中,如下所示:

 <form action="" method="POST">
       <table>
           <tr>
              <th style="width:8%; text-align:center;" >Action/Status</th>
           </tr>
           <?php
              $mp4_files = array_values($mp4_files);
              $mp3_files = array_values($mp3_files);
              foreach ($programs as $key => $program)    { 
                 $file = $mp4_files[$key];     
                 $file2 = $mp3_files[$key];   // file2 is in mp3 folder
              ?>
           <tr>
              <td style="width:5%; text-align:center;"><button style="width:90px;" type="button" name="go" class="btn btn-outline-primary">Go</button</td> <!-- Line#B -->   <!-- Go Button -->
           </tr>
           <?php } ?>
        </table>
</form>

问题陈述:

我想知道应该在上面的php代码中进行哪些更改,然后单击 Go按钮(Line#B),调用foreach循环(Line#A)

1 个答案:

答案 0 :(得分:1)

按钮应为type="submit",以便在您单击表单时提交表单。然后将格式更改为method="GET"或将$_GET['go']更改为$_POST['go']。如果要允许使用任何一种方法,请使用$_REQUEST['go']

<td style="width:5%; text-align:center;"><button style="width:90px;" type="submit" name="go" class="btn btn-outline-primary">Go</button</td> <!-- Line#B -->   <!-- Go Button -->