podcast-downloader-10
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
// 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>';
}
?>
// 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>';
}
?>