Last active 1440820623

Produce list of MP3 files in current and sub directories, playable by clicking

Revision 2080bc8d620a69258d9b365ae973ae8bc0c5c50a

mp3list.php Raw
1<?php
2$arr = array();
3foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.', FilesystemIterator::SKIP_DOTS)) as $item => $file) {
4 $arr[] = $item;
5}
6sort($arr);
7?>
8<html>
9<head>
10<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
11<script>
12var audio = document.createElement('audio');
13
14$(window).load(function() {
15 audio.setAttribute('src', '<?php echo reset($arr); ?>');
16 audio.setAttribute('controls', 'controls');
17 audio.setAttribute('id', 'audio');
18 $('body').append(audio);
19 if (window.location.hash != "" || window.location.hash != "?") {
20 set_src(window.location.hash.substring(1));
21 }
22});
23
24function set_src(filename) {
25 audio.setAttribute('src', filename);
26 audio.load();
27 audio.play();
28 return false;
29}
30</script>
31</head>
32<body>
33<ul>
34<?php
35foreach($arr as $item) {
36 if (mime_content_type($item) == "audio/mpeg") {
37 $item = substr($item, 2); ?>
38 <li><a href="<?php echo basename(__FILE__) . "#" . $item; ?>" onClick="return set_src('<?php echo $item; ?>');"><?php echo $item; ?></a></li>
39<?php } }
40?>
41</ul>
42</body>
43</html>
44