Я работаю над php-кодом, как показано ниже, в котором я конвертирую mp4-файлы в mp3, используя системную команду ffmpeg при нажатии любой кнопки «Перейти» из строки таблицы, как показано ниже на рисунке.
<?php
if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['go-button']))
{
foreach ($mp4_files as $f)
{
$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);
}
}
}
?>
<table>
<tr>
<th>MP4 Name</th>
<th>Action/Status</th>
</tr>
<?php
$file = $mp4_files[$key];
?>
<tr>
<td><?php echo basename($file); ?></td>
<td><button style="width:90px;" type="submit" name="go-button" value="Go" class="btn btn-outline-primary">Go</button</td> <!-- Line#B -->
</tr>
</table>
Приведенный выше код html / php отображает следующее содержимое:
Описание проблемы:
Мне интересно, какие изменения я должен внести в приведенный выше код php, чтобы кнопка Go (строка # B) предназначалась для файла mp4, присутствующего в той же строке.
В этот момент при нажатии кнопки «Перейти» из любой строки таблицы начинается конвертация всех файлов mp4 в mp3.
Допустим, у $ mp4_files есть два файла:
- 36031P.mp4
- hello.mp4
-> Кнопка перехода в 1-ю строку должна указывать на 1-й файл ( 36031P.mp4 ).
-> Кнопка Go во 2-й строке должна предназначаться для 2-го файла ( hello.mp4 ).
Это то, что я пробовал, но добавление разрыва предназначается только для 1-го файла в $ mp4_files, ноэто тоже нажатие любой кнопки Go.
foreach ($mp4_files as $f)
{
// my stuff
break;
}