Black Friday sale is now on! 50% off Laravel: The Modular Way. Learn more

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

David Carr

Demos PHP & MySQL Tutorials

  • Source Code
  • 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.

    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 Book by David Carr

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

    Subscribe to my newsletter

    Subscribe and get my books and product announcements.

    © 2009 - 2022 DC Blog. All code MIT license. All rights reserved.