Willkommen in der Webstatt
User-1 am 10.04.07 13:57

hey,

kennt einer von euhc ein programm das die ordnerstruktu auflöst?
also ich habe immer:

"Interpret/Album/Song.mp3"

hätte das aber jetzt gerne aufgelöst und nurnoch "Song.mp3" im Hauptordner halt.. gibts dafür ein Programm oder muss ich das mit PHP lösen? Ich dnek mal mit php wird es jedoch sehr langsam..

lg

xyz-219

netcup.de Warum gibt es hier Werbung?
User-2 am 10.04.07 14:54

php ist nicht langsam

User-3 am 10.04.07 14:58

Wenn die Ordnertiefe immer gleich ist kannst du sie ja kopieren bzw. verschieben (xcopy, etc.) ("*/*/*.mp3") ?!

User-4 am 10.04.07 17:11

da ich immer viele dateien von gewissen quellen bekomme, habe ich mir son php-dingen geschrieben, dass mir alle datein sortiert. alle mp3s liegen erst in einem ordner und werden dann von dem php-script ausgelesen (id3-tags) und dann in den ordner [FONT=courier new]MP3-Archiv/<ersten zwei buchstaben des artists>/<artist> - <titel>.mp3[/FONT] verschoben.
und dann gibts noch so kleinigkeiten wie md5-vergleich und so..flass mal was doppelt ist. das ganze sieht so aus (ist aba unordnetlich gecodet.. schon sau alt!):

<?
set_time_limit(345345);
$von = 'U:\\Musik\\unsortiert\\';
$nach = 'U:\\Musik\\MP3-Archiv\\';
$spam = array('www.goldesel...', 'goldesel...', 'war...', '_', '.mp3', 'www.hotspot...', '*', '?', '<', '>');
// $spam hab ich mal son bissl zensiert für webstatt ^^

define('IN_ID',true);
include('id3tag-2005-07-26/modules/class/mp3_id3v11.php');

/*
include('modules/class/mp3_id3v11.php');

$mp3_id3v11 = new mp3_id3v11();
$mp3_id3v11->load_file('C:\Musik\unsortiert\farin_urlaub_racing_team_-_zehn.mp3');

print_r($mp3_id3v11->get_tag());


Array
(
[title] => Zehn
[artist] => Farin Urlaub Racing Team
[album] => Zehn CDM
[year] => 2006
[comment] => www.gold.... // zensiert ^^
[track] => 1
[genre] => Rock
)
*/
echo '<pre>';

$d = dir($von);
$unlinken = array();
while(false !== ($entry = $d->read())){
$array = pathinfo($entry);
$datei_endung = strtolower($array['extension']);

if(in_array($entry, array('..', '.')) || is_dir($entry) || $datei_endung != 'mp3') continue;

$mp3_id3v11 = new mp3_id3v11();
$mp3_id3v11->load_file($von.$entry);
$tags = $mp3_id3v11->get_tag();

$tags['artist'] = trim($tags['artist']);
$tags['title'] = trim($tags['title']);

if(empty($tags['title']) && empty($tags['artist'])){
if(!is_array($tags)) $tags = array();
list($tags['artist'], $tags['title']) = explode(' - ', str_replace('_', ' ', $entry));
$tags['artist'] = trim($tags['artist']);
$tags['title'] = trim($tags['title']);
}

if(isset($tags) && !empty($tags['title']) && !empty($tags['artist'])){
$tags['artist'] = trim(str_replace($spam, ' ', $tags['artist']));
$tags['title'] = trim(str_replace($spam, ' ', $tags['title']));
$buchst = trim(substr($tags['artist'], 0, 2));
if(!is_dir($nach.$buchst)) mkdir($nach.$buchst);
$pfadneu = $nach.$buchst.'\\'.$tags['artist'].' - '.$tags['title'].'.mp3';
if(!file_exists($pfadneu)){
$copytrue = copy($von.$entry, $pfadneu);
if($copytrue){
$unlinken[] = $von.$entry;
echo '<span style="color:green">'.$entry.' verschoben ('.$tags['artist'].' - '.$tags['title'].')</span><br />';
}else{
echo '<span style="color:red">'.$entry.' konnte nicht verschoben werden (dateiname?)</span><br />';
}
}else{
echo '<span style="color:orange">'.$entry.' schon vorhanden</span>';
if($_GET['a'] == 'radikal') $unlinken[] = $von.$entry;
else{
$file1 = md5_file($von.$entry);
$file2 = md5_file($pfadneu);
if($file1 == $file2){
$unlinken[] = $von.$entry;
echo ' <span style="color:orange"><b>wird gelöscht</b></span>';
}
}
echo '<br />';
}
}else echo '<span style="color:red">'.$entry.' nicht verschoben (keine tags)</span><br />';

unset($mp3_id3v11);
flush();
}
$d->close();

$fp = fopen('del.bat', 'w');
foreach($unlinken as $f){
$f = str_replace(array('ä', 'ö', 'ü', 'Ä', 'Ü', 'Ö', 'ß', '´', '%'), '?', $f);
fwrite($fp, 'del "'.$f."\"\r\n");
}
fwrite($fp, 'pause');
fclose($fp);
echo '<b>Löschdatei geschrieben</b>';
?></pre>


das löschen mit ner batchdatei daher, da ich mit meinem xampp keine rechte dazu habe und zu faul bin das umzustellen (wie auch immer das geh'n mag^^)

das id3-ding hab ich mal angehängt..

vll brauchts ja einer oder zumindest das system..


xyz-72

User-5 am 10.04.07 20:37

Quote
faul bin das umzustellen (wie auch immer das geh'n mag^^)


Safe_Mode??

User-4 am 10.04.07 23:11

Quote
Original von ***
[QUOTE]faul bin das umzustellen (wie auch immer das geh'n mag^^)


Safe_Mode??[/quote]

ne is aus, der sacht mit "access denied iwas..". tja, chmod hab ich noch net unter win32 ^^

User-4 am 11.04.07 00:11

mhh..

Quote
Jinonidi Heute 00:10:40 ja
xyz-38tian Heute 00:10:48 ja hab ich dir dochj schon gesagt ^^
00:10:50 nehm nen ordner
00:10:57 wo die unterordner mit den dtaein drin sind
00:11:00 dann geh oben auf suchen
00:11:02 geb da ein *.*
00:11:06 und dann geh auf suchen
00:11:12 und schon findet der alle dateien
00:11:20 und die kannst dann einfach in einen anderen ordner verschieben
00:11:25 so würd ichs amchen
Jinonidi Heute 00:11:32 xD okay danke ihc bin dumm ^^
^^

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt