SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.05.2003, 08:48:06
mts mts ist offline
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
Mit Zitat antworten
  #2  
Alt 26.05.2003, 12:21:09
ingo ingo ist offline
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)
Mit Zitat antworten
  #3  
Alt 27.05.2003, 09:25:23
mts mts ist offline
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?
Mit Zitat antworten
  #4  
Alt 27.05.2003, 09:56:19
ingo ingo ist offline
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)
Mit Zitat antworten
  #5  
Alt 27.05.2003, 10:55:55
mts mts ist offline
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
Mit Zitat antworten
  #6  
Alt 27.05.2003, 11:16:27
mts mts ist offline
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?
Mit Zitat antworten
  #7  
Alt 27.05.2003, 11:47:46
ingo ingo ist offline
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
Mit Zitat antworten
  #8  
Alt 27.05.2003, 13:11:10
mts mts ist offline
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...
Mit Zitat antworten
  #9  
Alt 27.05.2003, 13:28:16
ingo ingo ist offline
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
Mit Zitat antworten
  #10  
Alt 28.05.2003, 12:38:52
ingo ingo ist offline
Junior Member
 
Registriert seit: Apr 2002
Beiträge: 248
thread

unter http://www.selfphp.info/forum/forum/...&threadid=4437 läuft gerade ein thread, der dir zeigt wie man verzeichnisse mit unterverzeichnissen ausliest.

lg, ingo
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:24:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt