PHP - 如何将大量文件路径存储到MySQL数据库?

时间:2011-08-24 21:30:44

标签: php mysql store filepath

我需要将大量文件存储到MySQL数据库中。这些文件存储在服务器上,我需要做的是这样的:

ID     artist         album         path
123    Artist Name    Album Name    /music/Artist Name/Album Name/Music Name.mp3

但正如我所说,它是一个非常大量的文件,并且手动添加它们不是一个选项。我想知道是否有人知道一种简单的方法让我至少导入数据库的路径。我之后可以实现的艺术家和专辑,并且可以手动完成。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

  1. 编写将从特定位置读取文件的php脚本。您可以使用目录迭代器http://www.php.net/manual/en/class.recursivedirectoryiterator.php
  2. 使用结构'artist_name''相册''路径'表单文本文件。
  3. 使用LOAD DATA INFILE'file'INTO TABLE your_table;请参阅http://dev.mysql.com/doc/refman/5.1/en/load-data.html

答案 1 :(得分:1)

线索:使用PHP以递归方式查看* .mp3文件的文件结构,或者您要查找的扩展名。对于返回的每个结果,将整个路径,文件大小等存储在数据库表中。您可能需要考虑使用Python语言。

答案 2 :(得分:0)

  1. 使用这些字段创建数据库表。
  2. Google获取一个获取目录/子目录/文件名列表的php脚本。
  3. 将该信息存储在DB中。

答案 3 :(得分:0)

你可能需要这样的东西:

$files = scandir(...); // you need scandir recursively the path /music

foreach($files as $file) {
    $paths  = explode("/", $file);

    $artist = $paths[1];
    $album  = $paths[2];

    $sql    = "INSERT INTO table (artist, album, path) VALUES ('$artist', '$album', '$file');";
    // execute sql or save it into file...
}