Radhad
Erfahrenes Mitglied
Hallo zusammen,
ich entwickle gerade ein Script, welches von einem Startordner alle Verzeichnisse durchcrawlen soll. Dabei sollen von mp3 Dateien die Metadaten des ID3 Tags ausgelesen werden. Das Script klappte fehlerfrei als ich nur den Startordner crawlen lies. Jetzt, mit einem Subfolder klappt es nicht - es treten Fehler beim öffnen der Datei innerhalb des Subfolders auf. Allerdings verstehe ich nicht, warum. Ich habe hier mal das ganze Script gepostet, vielleicht sieht ja jemand meinen Fehler...
ich entwickle gerade ein Script, welches von einem Startordner alle Verzeichnisse durchcrawlen soll. Dabei sollen von mp3 Dateien die Metadaten des ID3 Tags ausgelesen werden. Das Script klappte fehlerfrei als ich nur den Startordner crawlen lies. Jetzt, mit einem Subfolder klappt es nicht - es treten Fehler beim öffnen der Datei innerhalb des Subfolders auf. Allerdings verstehe ich nicht, warum. Ich habe hier mal das ganze Script gepostet, vielleicht sieht ja jemand meinen Fehler...
PHP:
<?php
require_once 'MP3/Id.php';
function check_dir($folder)
{
$mp3found = false;
echo '<table border="1" cellspacing="0" cellpadding="2"><tr><td colspan="9"><b>Ordner: '.$folder.'</b></td></tr>';
echo '<tr><td>Dateiname</td><td>Titel</td><td>Interpret</td><td>Album</td><td>Jahr</td><td>Kommentar</td><td>Genre</td><td>GenreID</td><td>Track</td></tr>';
$i = 0;
if ($handle = opendir($folder))
{
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
if(is_dir($file))
{
$arrfolder[$i] = $folder."/".$file;
$i++;
}
else
{
$mp3found = true;
$pos = strpos($file,".mp3");
if($pos !== false)
read_tag($file);
$pos = strpos($file,".MP3");
if($pos !== false)
read_tag($file);
}
}
}
closedir($handle);
}
if(!$mp3found)
echo '<tr><td colspan="9">Keine mp3-Datei gefunden</td></tr>';
echo '</table><br>';
for($j = 0; $j < $i; $j++)
check_dir($arrfolder[$j]);
}
?>
PHP:
function read_tag($file)
{
echo '<tr><td>'.$file.'</td>';
$id3 = &new MP3_Id();
$result = $id3->read($file);
if (PEAR::isError($result))
{
echo '<td colspan="8">'.$result->getMessage()."</td></tr>";
}
else
{
echo '<td>'.$id3->getTag('name').'</td>';
echo '<td>'.$id3->getTag('artists').'</td>';
echo '<td>'.$id3->getTag('album').'</td>';
echo '<td>'.$id3->getTag('year').'</td>';
echo '<td>'.$id3->getTag('comment').'</td>';
echo '<td>'.$id3->getTag('genre').'</td>';
echo '<td>'.$id3->getTag('genreno').'</td>';
echo '<td>'.$id3->getTag('track').'</td></tr>';
}
}
?>
PHP:
<?
$dir = 'D:/wwwroot';
check_dir($dir);
?>