PHP вставляет несколько треков mp3 после загрузки, используя echo и <audio> - PullRequest
0 голосов
/ 31 августа 2011

Моя форма html5 работает для загрузки нескольких mp3-файлов с помощью одной кнопки отправки, но я хочу, чтобы все они сразу же появлялись (вставлялись) на странице с тегом. В настоящее время я могу получить только один.

В: Как настроить отображение эха для других идентификаторов (аудио-плеер2, аудиоплеер3 и т. Д.)?

Я попытался добавить второй эхо с тем же материалом и заменить аудио-плеер2, но он (по понятным причинам) воспроизводит тот же файл. предположительно из-за (name = "files []")

вот HTML:

<form method="post" enctype="multipart/form-data">
            <input type="file" name="files[]" multiple="multiple">
            <input type="submit" value="upload!">
            </form>
here's the php:
<?php
if (isset($_FILES['files'])){
    foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name){
        move_uploaded_file($tmp_name, "uploaded/{$_FILES['files']['name'][$key]}");
    }
echo "<br><audio preload controls src='uploaded/{$_FILES['files']['name'][$key]}' id='audio-player1' name='audio-player1'></audio><br>";
}
?>

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Вам необходимо переместить ваш оператор echo в цикл.

0 голосов
/ 31 августа 2011

Переместите оператор echo в цикл foreach и добавьте переменную подсчета:

<?php
if (isset($_FILES['files'])){
    $i = 0;
    foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name){
        move_uploaded_file($tmp_name, "uploaded/{$_FILES['files']['name'][$key]}");
        echo "<br><audio preload controls src='uploaded/{$_FILES['files']['name'][$key]}' id='audio-player{$i}' name='audio-player{$i}'></audio><br>";
        $i++;
    }
}
?>
...