Load MP3's from a folder with option to play on page

David Carr

Demos Tutorials PHP & MySQL

Table of Contents

Thus tutorial will show you how to grab videos from a folder and list them on a page, once listed an MP3 file can be clicked on and then played in a player or downloaded.

<iframe frameborder="0" height="315" src="//www.youtube.com/embed/ePgdnLkjZ9g" width="560"></iframe>

Player from http://www.alsacreations.fr/dewplayer-en

Demo

Download source files

Source Code

<?php ob_start();?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>MP3 Test</title>
</head>
<body>

<?php

   $dirname = "music/";
   $files = scandir($dirname);
   $ignore = array(".", "..", ".DS_Store");

   echo '<ul>';
   foreach($files as $curfile){
       if(!in_array($curfile, $ignore)) {
           echo "<li><a href='?file=".$curfile."'>$curfile</a></li>n ";
       }
   } 
   echo '</ul>'; 


   if(isset($_GET['file'])){

    $file = $_GET['file'];

    echo '<object type="application/x-shockwave-flash" data="dewplayer.swf" width="200" height="20" id="dewplayer" name="dewplayer">
    <param name="movie" value="dewplayer.swf" />
    <param name="flashvars" value="mp3='.$dirname.$file.'" />
    <param name="wmode" value="transparent" />
    </object>';

    echo '<br /><a href="?download='.$file.'">Download</a>';

   }  

  if(isset($_GET['download'])){

       $file = $dirname.$_GET['download'];
       header ("Content-type: octet/stream");
       header ("Content-disposition: attachment; filename=".$file.";");
       header("Content-Length: ".filesize($file));
       readfile($file);
       exit; 
  }

?>
</body>
</html> 
<?php ob_flush(); ?>

 

Laravel Modules Your Logo Your Logo Your Logo

Become a sponsor

Help support the blog so that I can continue creating new content!

Sponsor

My Latest Book

Modular Laravel Book - Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Subscribe to my newsletter

Subscribe and get my books and product announcements.

Fathom Analytics $10 discount on your first invoice using this link

© 2006 - 2024 DC Blog. All code MIT license. All rights reserved.