PHP - Создание 'DYNAMIC' каталогов для HTML5 <AUDIO> - PullRequest
1 голос
/ 14 января 2012

Итак ... Я мега нуб, когда дело касается PHP, стараюсь изо всех сил учиться, но ЭТО НЕ ХОРОШО.

В любом случае, я пытаюсь создать две разные «динамические» директории в эхо PHP, структурированные так, чтобы они соответствовали звуковому тегу HTML5.

- 1-й каталог для * .mp3
- 2-й каталог для * .ogg

Я пытаюсь настроить его так, чтобы я мог просто сбросить соответствующие форматы файлов в соответствующие папки и вуаля! Автоматически сгенерированное воспроизведение аудио в формате HTML5 ...

Должно быть достаточно легко, нет? На 100% уверен, что я делаю это наихудшим образом.
Вот код ....

    <?PHP
        $handleAudioMp3 = opendir(dirname(realpath(__FILE__)).'/audio/mp3/');
        $handleAudioOgg = opendir(dirname(realpath(__FILE__)).'/audio/ogg/');
        while($fileMp3 = readdir($handleAudioMp3) & $fileOgg = readdir($handleAudioOgg)){
            if($fileMp3 !== '.' && $fileMp3 !== '..' && $fileOgg !== '.' && $fileOgg !== '..'){
                echo '<div>
                        <audio controls="controls" preload="none">
                            <source src="audio/mp3/'.$fileMp3.'"/>
                            <source src="audio/ogg/'.$fileOgg.'"/>
                        </audio>
                    </div>'     ;}}
                    closedir($handleAudioMp3);
                    closedir($handleAudioOgg);
    ?>

Пересмотрен и работает благодаря ThiefMaster

<?PHP
        $handleAudioMp3 = opendir(dirname(realpath(__FILE__)).'/audio/mp3/');
        $handleAudioOgg = opendir(dirname(realpath(__FILE__)).'/audio/ogg/');
        while(($fileMp3 = readdir($handleAudioMp3)) & ($fileOgg = readdir($handleAudioOgg))){
            if($fileMp3 !== '.' && $fileMp3 !== '..' && $fileOgg !== '.' && $fileOgg !== '..'){
                echo '<div>
                        <audio controls="controls" preload="none">
                            <source src="audio/mp3/'.$fileMp3.'" type="audio/mpeg"/>
                            <source src="audio/ogg/'.$fileOgg.'" type="audio/ogg"/>
                        </audio>
                    </div>'     ;}}
                    closedir($handleAudioMp3);
                    closedir($handleAudioOgg);
    ?>


Разница ...

while(($fileMp3 = readdir($handleAudioMp3)) & ($fileOgg = readdir($handleAudioOgg))){

Ответы [ 2 ]

0 голосов
/ 30 апреля 2012

ThiefMaster указал, что я забыл некоторые скобки в ...

while($fileMp3 = readdir($handleAudioMp3) & $fileOgg = readdir($handleAudioOgg)){

Так и должно быть ...

while(($fileMp3 = readdir($handleAudioMp3)) & ($fileOgg = readdir($handleAudioOgg))){

Еще раз спасибо всем !!!

0 голосов
/ 14 января 2012

Есть много способов снять шкуру с кошки, вот два:

  1. Позвольте пользователю решить (например, с помощью выбора), какой формат он хочет, затем используйте только этот формат
  2. отображать не 2 источника для 1 аудио тега, а 2 аудио тега, помечая их как "play ogg" и "play mp3§
...