我用phpmyadmin在mysql中创建了一个数据库,将音乐专辑存储为本地主机,然后向数据库添加了一些表,但我真的不知道如何将我的mp3文件路径存储在具有URL列的表中?我的硬盘里有很多目录,但我不知道怎么处理。
例如。
E:娱乐库音乐库艺人名称专辑名称歌曲名称。mp3
这是我的表结构
首先需要遍历要索引的文件夹。类似下面的代码将运行递归检查。
我们将为歌曲创建一个类,以便稍后在需要时扩展它。
class Track {
public $location;
}
然后我们将选择要递归扫描的文件夹并继续执行。
我们将使用可爱的递归迭代器。
$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
这种方式在将来如果你必须改变你的上传目录的位置,那么只需将你的文件移动到新的位置,并使用新的值编辑你的位置,你就完成了。