使用echo和<audio> </audio>上传后,PHP嵌入了多个mp3曲目

时间:2011-08-31 18:34:36

标签: php html5 audio embed echo

我的html5表格上传了多个带有一个提交按钮的mp3文件,但是我想让它们全部立即显示(嵌入)带有标签的页面。目前我只能得到一个。

问:如何设置其他id(audio-player2,audioplayer3等)的echo?

我尝试使用相同的东西添加第二个回声并替换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>";
}
?>

2 个答案:

答案 0 :(得分:0)

在foreach循环中移动echo语句并添加计数变量:

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

答案 1 :(得分:0)

您需要将echo语句移动到循环中。