2015-05-29 112 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

相關問題