CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
26.05.2003, 08:48:06
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 7
|
|
MP3-Verwaltung mit PHP
Hallo zusammen,
wie ihr zweifellos vermutet möchte ich gerne eine "s. Betreff" schreiben. das grundgerüst (sprich formulare, funktionen etc.) steht schon. allerdings muß z.zt. noch jedes einzelne mp3 per hand in die datenbank eintragen. das ist bei mehr als 10 echt ätzend. ich suche also einen weg, mit hilfe von php ein directory mit mp3-inhalt einzulesen. dann sollen die id-tags der mp3s automatisch ausgelesen werden und in die datenbank (ist übrigens ne MySQL-DB) eingefügt werden...
ich weiß daß das geht, eben nur nicht wie... :)
HELP
MfG Martin
|
26.05.2003, 12:21:09
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
es gibt ein script namens "andromeda", dass die alle mp3- und ogg-vorbis dateien in einer ordnerstruktur anzeigt, den id3-tag ausliest und dir so die genauen informationen über das file anzeigt. außerdem ist es möglich damit playlisten zu erstellen, diese zu streamen oder dateien downzuloaden. es ist sogar eine suchfunktion inkludiert.
und das beste: es ist eine einzige datei!
ein echt geniales teil.
http://www.turnstyle.com/andromeda/
funktioniert allerdings nicht in verbindung mit einer datenbank.
das dazuzuprogrammieren dürfte möglicherweise ein wenig einlesezeit benötigen. ist echt nicht schlecht geschrieben.
eine andere möglichkeit wäre das script getid3 zu nutzen und folgend einzubinden:
du liest alle mp3-dateien in deinem verzeichnis aus und gibst jedes an das script getid3.php weiter. das script gibt dir über die funktion GetAllMP3info() alle daten zurück, die du dann in die db speicherst.
http://cba.fro.at/getinfo/getid3-beta.zip (mirror)
funkt ungefähr so:
PHP-Code:
include_once("getinfo/getid3.php");
$myfilename = "meine-mp3-datei.mp3";
$info = GetAllMP3info($myfilename);
if ( $info['exist'] ) {
if ( $info['fileformat'] == 'ogg' || $info['fileformat'] == 'mp3') {
$dauer = $info['playtime_string'];
$bitrate = $info['bitrate'];
$codec = $info['fileformat'];;
} else {
exit ("only mp3s & Ogg Vorbis data please");
}
} else {
exit ("file nicht da");
}
echo "$dauer<br>";
echo "$bitrate<br>";
echo "$codec<br>";
lg, ingo
Geändert von ingo (26.05.2003 um 12:40:26 Uhr)
|
27.05.2003, 09:25:23
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 7
|
|
muß ich dann nicht jedes mp3 einzeln nacheinander in die funktion packen? ich stell mir das momentan mit nem
input type="file" vor, da kann man aber nur einzelne dateien reintun oder?
|
27.05.2003, 09:56:19
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
service
du willst doch ein verzeichnis mit mp3-dateien automatisch auslesen lassen, oder?
wenn du input type=file nimmst, dann musst du doch jede manuell browsen. außerdem willst du sie ja nicht uploaden, sondern wie gesagt nur deren daten speichern..
versteh ich dich richtig?
dann machst du es folgendermaßen:
PHP-Code:
$verz=opendir ('/var/www/verzeichnis');
echo "<table width="90%" cellspacing="2" cellpadding="0" border="0">
<tr>
<td><b>$txt_filename</b></td>
<td><b>$txt_length</b></td>
<td><b>$txt_codec</b></td>
<td><b>$txt_bitrate</b></td>";
while ($file = readdir ($verz))
{
include_once("getinfo/getid3.php");
$info = GetAllMP3info('/var/www/verzeichnis/'.$file);
if ( $info['exist'] ) {
if ( $info['fileformat'] == 'ogg' || $info['fileformat'] == 'mp3') {
$dauer = $info['playtime_string'];
$bitrate = $info['bitrate'];
$codec = $info['fileformat'];
} else {
$codec = "keine gueltige mp3- oder ogg-vorbis datei";
}
} else {
$file= "fehler";
}
if($file != "." && $file != "..")
{
echo "
<tr>
<td>$file</td>
<td>$dauer</td>
<td>$codec</td>
<td>$bitrate</td>
</tr>";
}
}
echo "</table>";
closedir($verz);
so listest du mit getid3 alle mp3- oder ogg-vorbis -dateien in deinem verzeichnis auf und zeigst sie an.
anstatt sie anzeigen zu lassen kannst du die daten mittel mysql_query() in die datenbank schreiben. oder beides.
lg, ingo
Geändert von ingo (27.05.2003 um 09:59:03 Uhr)
|
27.05.2003, 10:55:55
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 7
|
|
>>du willst doch ein verzeichnis mit mp3-dateien automatisch
>>auslesen lassen, oder?
das stimmt! :)
>>wenn du input type=file nimmst, dann musst du doch jede
>>manuell browsen. außerdem willst du sie ja nicht uploaden,
eben..
>>sondern wie gesagt nur deren daten speichern..
>>versteh ich dich richtig?
tust du! :)
ok, den code werd ich mal ausprobieren! :)
danke sehr
|
27.05.2003, 11:16:27
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 7
|
|
wie kann ich denn die db aktuell halten? geht das nur über den weg, des neueinlesens?
|
27.05.2003, 11:47:46
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
entweder (einfach)
du setzt vor das script ein mysql_query("DELETE FROM tabelle"); und löschst somit alle einträge und liest dann alle neu ein,
oder (schwieriger)
du überprüfst bei jedem schleifendurchlauf ob das feld schon existiert (dann machst du nix), sonst: eingabe der daten (INSERT).
wenns wurscht is, würd ich die erste variante vorschlagen.
ist nix verhaut und die daten kommen auf jeden fall wieder richtig rein. wenn du in der zweiten variante beispielsweise einen dateinamen änderst, musst du noch alle strings überprüfen, sonst hast du doppelte einträge, dateinamen die nicht funktionieren, etc..
lg, ingo
|
27.05.2003, 13:11:10
|
Anfänger
|
|
Registriert seit: May 2003
Beiträge: 7
|
|
geht das mit dem dir einlesen auch rekursiv? sonst hab ich ein problem, hab nämlich mehrere unterverzeichnisse in meinem mp3-dir...
|
27.05.2003, 13:28:16
|
Junior Member
|
|
Registriert seit: Apr 2002
Beiträge: 248
|
|
wie wärs mit einer zweiten schleife?
die funktion is_dir() wird dir dabei wahrscheinlich auch nützlich sein.
lg, ingo
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:53:55 Uhr.
|