Problem mit Öffnung eines Ordners

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Öffnung eines Ordners

    Hallo.
    Ich habe hier ein Script das die ID3Tags von MP3 dateien auslesen soll.
    Leider öffnet das Script den angegebenen Ordner nicht.

    PHP-Code:
    <?
    $folder = "musik\";
    include("dbclass.php");

    parse_str($QUERY_STRING);

    $genre = array(0 => "Blues", 1 => "Classic Rock", 2 => "Country", 3 => "Dance", 4 => "Disco", 5 => "Funk",
       6 => "Grunge", 7 => "Hip-Hop", 8 => "Jazz", 9 => "Metal", 10 => "New Age",
       11 => "Oldies", 12 => "Other", 13 => "Pop", 14 => "R&B", 15 => "Rap",
       16 => "Reggae", 17 => "Rock", 18 => "Techno", 19 => "Industrial", 20 => "Alternative",
       21 => "Ska", 22 => "Death Metal", 23 => "Pranks", 24 => "Soundtrack", 25 => "Euro-Techno",
       26 => "Ambient", 27 => "Trip-Hop", 28 => "Vocal", 29 => "Jazz+Funk", 30 => "Fusion",
       31 => "Trance", 32 => "Classical", 33 => "Instrumental", 34 => "Acid", 35 => "House",
       36 => "Game", 37 => "Sound Clip", 38 => "Gospel", 39 => "Noise", 40 => "Alternative Rock",
       41 => "Bass", 42 => "Soul", 43 => "Punk", 44 => "Space", 45 => "Meditative",
       46 => "Instrumental Pop", 47 => "Instrumental Rock", 48 => "Ethnic", 49 => "Gothic", 50 => "Darkwave",
       51 => "Techno-Industrial", 52 => "Electronic", 53 => "Pop-Folk", 54 => "Eurodance", 55 => "Dream",
       56 => "Southern Rock", 57 => "Comedy", 58 => "Cult", 59 => "Gangsta", 60 => "Top 40",
       61 => "Christian Rap", 62 => "Pop/Funk", 63 => "Jungle", 64 => "Native American", 65 => "Cabaret",
       66 => "New wave", 67 => "Psychadelic", 68 => "Rave", 69 => "Showtunes", 70 => "Trailer",
       71 => "Lo-Fi", 72 => "Tribal", 73 => "Acid Punk", 74 => "Acid Jazz", 75 => "Polka",
       80 => "Folk", 81 => "Folk-Rock", 82 => "National Folk", 83 => "Swing", 84 => "Fast Fusion", 85 => "Bebob",
       86 => "Latin", 87 => "Revival", 88 => "Celtic", 89 => "Bluegrass", 90 => "Avantgarde",
       91 => "Gothic Rock", 92 => "Progressive Rock", 93 => "Psychedelic Rock", 94 => "Symphonic Rock", 95 => "Slow Rock",
       96 => "Big Band", 97 => "Chorus", 98 => "Easy Listening", 99 => "Acoustic", 100 => "Humour",
       101 => "Speech", 102 => "Chanson", 103 => "Opera", 104 => "Chamber Music", 105 => "Sonata",
       106 => "Symphony", 107 => "Booty Bass", 108 => "Primus", 109 => "Porn Groove", 110 => "Satire",
       111 => "Slow Jam", 112 => "Club", 113 => "Tango", 114 => "Samba", 115 => "Folklore",
       116 => "Ballad", 117 => "Power Ballad", 118 => "Rhythmic Soul", 119 => "Free Style", 120 => "Duet",
       121 => "Punk Rock", 123 => "A capella", 124 => "Euro-House", 125 => "Dance Hall");


    function id3($filename)
    {
      global $genre;
      if (!is_file($filename) or filesize($filename) < 128)
      {
        return false;
        break;
      }
      $fp = fopen($filename, "r");
      fseek($fp, filesize($filename) - 128);
      $id3 = fread($fp, 128);
      $arr = array();
      if (strtoupper(substr($id3, 0, 3)) == "TAG")
      {
        $arr["song"] = trim(substr($id3, 3, 30));
        $arr["artist"] = trim(substr($id3, 33, 30));
        $arr["album"] = trim(substr($id3, 63, 30));
        $arr["year"] = trim(substr($id3, 93, 4));
        $arr["comment"] = trim(substr($id3, 97, 30));
        $arr["genre"] = $genre[ord($id3[127])];
        return $arr;
      }
      else
        return false;
      fclose($fp);
    }

    // dir listing

    chdir($folder);

    $DBObject = new DBConnection;
    $QueryInfo = new QueryInfo;
    $Conn = $DBObject->Connect();

    $handle = opendir($folder);
    while ($file = readdir($handle)) {
        
        if (is_file($file) && ereg("\.mp3$", $file)) {
            
            $data = id3($file);

            $Song = addslashes($data["song"]);
            $Artist = addslashes($data["artist"]);
            $Album = addslashes($data["album"]);
            $TheYear = addslashes($data["year"]);
            $Comment = addslashes($data["comment"]);
            $Genre = addslashes($data["genre"]);
            
            $FileSize = filesize($file);
            $FileName = addslashes($file);
            
            $TheQuery = "INSERT INTO mp3list (ID, FileName, FileSize, Folder, 
    Song, Artist, Album, Year, Comment, Genre) VALUES ('', '$FileName',
     '$FileSize', '$folder', '$Song', '$Artist', '$Album', '$TheYear', '$Comment', '$Genre')";

            
            $Result = $DBObject->Query($TheQuery);
            
            $i++;
            
        }
    }    
    $DBObject->Close($Conn);
    ?> 
    <br>
    <font face="verdana" size="2">Inserted <? echo $i ?> mp3 songs into the database!<br><br>
    Go and <a href="search.php">search</a> your files...</font>
    </body>
    Diese Fehlermeldung kommt
    Code:
    Warning: opendir(musik) [function.opendir]: failed to open dir: Datei oder 
    Verzeichnis nicht gefunden in /opt/lampp/htdocs/mp3/insert.php on line 70
    
    
    Warning: readdir(): supplied argument is not a valid Directory resource in 
    /opt/lampp/htdocs/mp3/insert.php on line 71
    
    Inserted mp3 songs into the database!
    Habe schon alles ausprobiert. Mit Slash am ende und ohne.
    Zuletzt geändert von funnyzocker; 12.10.2006, 20:43.

  • #2
    Wundert mich das das überhaupt ausgeführt wird. Denn mit
    PHP-Code:
    $folder "musik\"; 
    Quittierst du (wie du an dem Syntax-Highlighting des Forums auch sehen kannst), eigentlich alles danach. Bis zum nächsten " jedenfalls. Mach mal den Backslash da weg.

    Außerdem: Code umbrechen! Ich hab nen 21' Monitor und muss Trotzdem nach rechts scrollen..
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      Sorry

      Habe mal den Post umgebrochen.
      Sorry hatte ich erst nicht gemerkt.

      Auch mit dem Slash weg am ende kommt der selbe Fehler

      Kommentar


      • #4
        Hi,

        so auf den ersten Blick:
        Wo ist der Sinn, mit chdir in das Verzeichnis "musik" zu wechseln und dann mit opendir dort das
        Verzeichnis "musik" zu öffnen? Bist Du sicher, dass die Ordnerstruktur so aussieht?

        LG

        Kommentar

        Lädt...
        X