如何在mysql中存储媒体文件路径

时间:2015-05-29 10:01:36

标签: php mysql

我用phpmyadmin在mysql中创建了一个数据库,将音乐专辑存储为localhost,然后在数据库中添加了一些表格,但我真的不知道如何将我的mp3文件路径存储在 URL 专栏给他们?我的硬盘里面有很多目录,但无法弄清楚如何处理它。

例如。

  

E:\ Entertainment Lib \ Music Library \ Artist Name \ Album Name \ Song Name.mp3

Here is my table structure

2 个答案:

答案 0 :(得分:2)

首先需要遍历要为索引编制索引的文件夹。以下内容将运行递归检查。

我们将为歌曲创建一个类,以便我们可以在以后需要时将其扩展。

class Track {
    public $location;
}

然后我们将选择我们想要递归扫描的文件夹并继续这样做。

我们将使用可爱的RecursiveIteratorIterator

$result = array();

$musicFolder = "c:\\music\\Folder\\";
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($musicFolder)) as $filename)
{
    //This can be extended to check for other files also.
    //But for your purposes we can stick to mp3!
    if(getExtention($filename) == "mp3" )
    {
        $arrayItem = new Track();
        $arrayItem->location = $filename;
        array_push($result, $arrayItem);
    }
}

现在,您拥有数组对象$result内的所有文件位置。然后,您可以将其插入到MySQL DB中。

我认为这就是你要找的东西?

答案 1 :(得分:0)

最佳方法是定义放置所有目录的位置。

例如/var/www/site/upload

将该值作为配置值,以便在需要时可以在稍后阶段使用。现在要将值存储在数据库中,您应该从基本位置开始存储路径。

/dir1/file1.mp3
/dir2/file2.mp3
/dir3/file3.mp3

将来如果您必须更改上传目录的位置,只需将文件移至新位置并使用新值修改您的位置即可。