【问题标题】:PHP - How to store a large number of filepaths to MySQL database?PHP - 如何将大量文件路径存储到 MySQL 数据库?
【发布时间】:2011-08-24 21:30:44
【问题描述】:

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

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

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

有什么想法吗?

【问题讨论】:

    标签: php mysql store filepath


    【解决方案1】:
    1. 编写将从特定位置读取文件的 php 脚本。您可以使用目录迭代器http://www.php.net/manual/en/class.recursivedirectoryiterator.php
    2. 具有结构“艺术家名称”“专辑”“路径”的表单文本文件。
    3. 使用 LOAD DATA INFILE 'file' INTO TABLE your_table;见http://dev.mysql.com/doc/refman/5.1/en/load-data.html

    【讨论】:

      【解决方案2】:

      提示:使用 PHP 递归地查看您的文件结构中的 *.mp3 文件,或您正在寻找的任何扩展名。对于返回的每个结果,将整个路径、文件大小等存储在数据库表中。您可能需要考虑为此使用 Python 语言。

      【讨论】:

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

        【讨论】:

          【解决方案4】:

          你可能需要这样的东西:

          $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...
          }
          

          【讨论】:

            猜你喜欢
            • 2014-03-29
            • 2012-07-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-09-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多