2015-05-29 115 views
1

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

例如。

E:\娱乐库\音乐库\艺人名\专辑名称\宋Name.mp3

Here is my table structure

+0

添加更多细节,如您的表格,栏目等。此外,您正在寻找什么?要将您存储音乐(在硬盘中)的所有路径导出到您的表格的特定列中? – Nighthunter22

+0

varchar有什么问题?你在插入时遇到一些问题吗? – Pogrindis

+0

不!但我只想知道如何把文件路径在url字段中,例如我上面提到的! – arcade

回答

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数据库。

我想这就是你要找的东西?

0

最好的办法是定义一些位置,放置所有的目录。

例如, /var/www/site/upload

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

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

这样,在未来,如果你要改变你的上传目录的位置,然后只是你的文件移动到新位置,并用新的值来编辑你的位置和你做。

+0

谢谢你的亲切回答!但你能给我一个例子如何用更详细的例子来定义我的所有目录。 – arcade

相关问题