我使用phpmyadmin创建了一个数据库,将音乐专辑作为localhost存储,然后将一些表添加到数据库中,但是我真的不知道如何将我的mp3文件路径存储在表中与URL列为他们?我的硬盘中有很多目录,但无法弄清楚如何处理它。如何在mysql中存储媒体文件路径
例如。
E:\娱乐库\音乐库\艺人名\专辑名称\宋Name.mp3
我使用phpmyadmin创建了一个数据库,将音乐专辑作为localhost存储,然后将一些表添加到数据库中,但是我真的不知道如何将我的mp3文件路径存储在表中与URL列为他们?我的硬盘中有很多目录,但无法弄清楚如何处理它。如何在mysql中存储媒体文件路径
例如。
E:\娱乐库\音乐库\艺人名\专辑名称\宋Name.mp3
,您首先需要通过你想索引的文件夹进行迭代跟踪..像下面的东西将运行递归检查。
我们将为这首歌创建一个类,以便稍后在需要时扩展它。
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数据库。
我想这就是你要找的东西?
最好的办法是定义一些位置,放置所有的目录。
例如, /var/www/site/upload
将该值作为配置值,以便在需要时可以在稍后阶段使用。现在要将值存储在数据库中,您应该从基本位置开始存储路径。
/dir1/file1.mp3
/dir2/file2.mp3
/dir3/file3.mp3
这样,在未来,如果你要改变你的上传目录的位置,然后只是你的文件移动到新位置,并用新的值来编辑你的位置和你做。
谢谢你的亲切回答!但你能给我一个例子如何用更详细的例子来定义我的所有目录。 – arcade
添加更多细节,如您的表格,栏目等。此外,您正在寻找什么?要将您存储音乐(在硬盘中)的所有路径导出到您的表格的特定列中? – Nighthunter22
varchar有什么问题?你在插入时遇到一些问题吗? – Pogrindis
不!但我只想知道如何把文件路径在url字段中,例如我上面提到的! – arcade