<?

            // PHP podcast downloader



// Vul in deze array je favoriete feeds in.
$feeds   = array('http://www.teleac.nl/radio/xml/rss.jsp?page=134903',
                 'http://tros.nl/index.php?id=podcast&podcastID=1');

// Hoeveel uitzendingen terug, moeten er per feed gedownload worden
$max         = 3;

// Bestemmingsmap
$bestemming = 'Downloads';


// Onder deze lijn niets wijzigen, zolang je niet weet wat je doet...
// ===========================================

// D.m.v. een foreach alle feeds controleren
foreach($feeds as $feeds){

    // Een xml feed ophalen
    $xml = simplexml_load_file($feeds);

    // Alle uitzendingen in een loop weergeven
    foreach($xml->channel->item as $item)
    {

        // teller mee laten lopen voor het maximum;
        $count = $count+1;
        if($count==$max+1){break;}

        // Bestemmingsmap aanmaken als deze niet bestaat
        if (!is_dir($bestemming.'/')){    mkdir($bestemming.'/', 0777);}

        // Naam en map genereren:
        $bestandsnaam     = $item->title;
        $map            = $xml->channel->title;
        $pad            = $bestemming.'/'.$map.'/'.$bestandsnaam.'.mp3';

        // Controleren of hij niet al eerder gedownload is.
             if (file_exists($pad)) {
             // Reeds gedownload
             }else{
             // Nog niet gedownload
             echo $bestandsnaam . ' downloaden...<br>';

                 // Map voor feed aanmaken
                 if (!is_dir("$bestemming/")){mkdir("$bestemming/", 0777);}
                 // Bestand downloaden

                    // Controleren op welke wijze de link is opgeslagen
                    if(!isset($item->enclosure['url'])){
                        $file = @file_get_contents($item->link);
                    }else{
                        $file = @file_get_contents($item->enclosure['url']);
                    }

         echo 'Gedownload!<br>';
         // Bestand opslaan
         file_put_contents($pad, $file);
         echo 'Klaar!<br><br>';

        // 10 seconden wachten omdat anders het modem uitvalt.
        sleep(10);

        }
    }

    echo '<br><b>'.$map.'</b> is up-to-date<br><br>';
}

?>