我的html5表单可以使用一个提交按钮上传多个mp3文件,但我希望它们全部立即显示在(带有标签的)页面上。目前我只能得到一个。

问:如何设置其他ID(音频播放器2,音频播放器3等)出现的回声?

我尝试用相同的东西添加第二个回声并替换audio-player2,但是(可以理解)它播放相同的文件。大概是因为(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>";
}
?>

最佳答案

将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++;
    }
}
?>

关于php - PHP使用echo和<audio>上传后嵌入了多个mp3轨道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7261731/

10-09 22:58