我正在处理如下所示的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)。
答案 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 -->