- Mitglied seit
- 19. Aug 2008
- Beiträge
- 18.275
- Punkte für Reaktionen
- 4
- Punkte
- 0
Ich bin nicht sicher ob das auch wirklich hier reinpasst, es ist noch keine fertige 3rd Party Anwendung, aber das Teil läuft am besten mit Vollzugriff auf die Verzeichnisse und damit mit root-Rechten
Für den Icecast Server auf meiner DS107+ wollte ich Playlists erstellen, damit ich auch mp3 Files von der DS aus am Client abspielen kann. Am einfachsten sind PLS Playlisten und darum habe ich mir mal folgendes Script gezimmert, das die komplette mp3 Sammlung in Playlisten stellt. Dem Script wird das Root Verzeichnis der mp3 Files angegeben (z.B. /volume1/mp3), dann liest das Script alle Verzechnisse der ersten Ebene unter mp3 ein. Für jedes dieser Verzeichnisse der ersten Ebene wird dann rekursiv eine Playlist erstellt.
Also wer's brauchen kann..
Wenn es wiedermal heftig regnet oder gar schneit mache ich daraus mal noch eine fertige 3rd Party Applkation
Gruss
tobi
Für den Icecast Server auf meiner DS107+ wollte ich Playlists erstellen, damit ich auch mp3 Files von der DS aus am Client abspielen kann. Am einfachsten sind PLS Playlisten und darum habe ich mir mal folgendes Script gezimmert, das die komplette mp3 Sammlung in Playlisten stellt. Dem Script wird das Root Verzeichnis der mp3 Files angegeben (z.B. /volume1/mp3), dann liest das Script alle Verzechnisse der ersten Ebene unter mp3 ein. Für jedes dieser Verzeichnisse der ersten Ebene wird dann rekursiv eine Playlist erstellt.
Also wer's brauchen kann..
PHP:
<?php
//Pfad zu mp3-Root KEINEN ABSCHLIESSENDEN SLASH!!
$path_mp3='/volume1/mp3';
//Pfad zu den Playlisten KEINEN ABSCHLIESSENDEN SLASH!!
$path_pl='/volume1/playlists';
//Für Playlisten auf Servern können keine lokalen Pfade verwendet werden
//es sollten immer komplette Pfade inkl Schema, Port und END-SLASH (/) verwendet werden
//Für lokale Playlisten einfach einen Leerstring '' setzen.
$server='http://deineDomain.tld:8000/';
$folder=array();
//alle Verzeichnissnamen der ersten Ebene unterhalb von mp3-Root auslesen
$dh=opendir($path_mp3);
while(false!==($file=readdir($dh))){
if($file!='..' && $file!='.'){
$folder[]=$file;
}
}
//jedes gefundene Verzeichnis der ersten Ebene rekursiv nach mp3 Dateien
//durchsuchen, Dateipfade bearbeiten und in PLS schreiben
for($i=0;$i<count($folder);$i++){
$fp=fopen($path_pl.'/'.$folder[$i].'.pls','w');
$c=1;
$str='';
$cmd='find "'.$path_mp3.'/'.$folder[$i].'" -name *.mp3';
$out=array();
exec($cmd,$out);
foreach($out as $wert){
if($server==''){
$str .= "File{$c}={$wert}\n";
}else{
$str .= "File{$c}=".str_replace(substr($path_mp3,0,strrpos($path_mp3,'/')+1),$server,$wert)."\n";
}
$c++;
}
$c--;
fwrite($fp,'[playlist]'."\n".'numberofentries='.$c."\n".trim($str));
fclose($fp);
}
?>
Gruss
tobi