2014-11-02 48 views
0

我學習PHP & MySQL。感謝這個偉大的網站,我已經學會了如何通過讀取MP3音樂數據庫我怎麼剝文本丟棄文件的位置,只留下文件名

我的目標是確定歌曲的歌詞沒有,讓每首歌曲的拷貝在另一個文件夾中的一些其他資源。 $row['filename']返回完整的位置,如"C:/../../../nameOfArtist/nameOfAlbum/foo.mp3"我不知道如何將其移動到另一個目錄中,並在該過程中創建藝術家子目錄和專輯子目錄。

喜歡的東西copy(($row['filename']), (C:/foo . '$row['artist'] . $row['album'] . "foo.mp3");

這裏是我到目前爲止,工程

$result = mysqli_query($con,"SELECT id, artist, title, album, filename 
      FROM songlist 
         WHERE lyrics IS NULL or lyrics = '' "); 

while($row = mysqli_fetch_array($result)) { 
echo "Artist: " . $row['artist'] . "  Title: " . $row['title'] . "  Album: " . $row['album'] . "<br/>; 

$filename = $row['filename']; 
echo $filename . "<br/>"; 
+1

你expectin g MySQL做一個文件拷貝? – wallyk 2014-11-02 02:07:45

+0

你缺少一個右'「'你的第一個'echo' – 2014-11-02 02:15:12

+2

'我怎麼剝文本丟棄文件的位置,只留下文件name' http://www.php.net/basename – Cheery 2014-11-02 02:16:58

回答

0

http://php.net/manual/en/function.copy.php - 複製() - 複製文件

http://php.net/manual/en/function.basename.php - 基名() - 返回後的名稱組件路徑

$filename = $row['filename']; 
copy ($filename , "C:\\foo\\" . basename($filename)); 
+0

大衛非常感謝你。 。我嘗試了這一點,我得到了以下錯誤:「數組(數據庫)([類型] => 2 [消息] =>複製(D:\ RadioMetaverse \藝術家在數據庫中\比利喬爾\完整命中集合1973年-1997-限量版光盤1 \ 02 Captain Jack.mp3):未能打開流:權限被拒絕[file] => C:\ Program Files \ Windows Server \ Bin \ WebApps \ Site \ html5 \ noLyrics.php [line] => 37)「當然第37行是複製($ filename,「C:\\ foo \\」。basename($ filename));但我認爲這是一個windows權限的事情,不會讓IIS7或其他東西寫入foo文件夾。創建一個foo文件夾) – user3248497 2014-11-03 02:08:50

+0

「foo」只是一個例子,當然,你可以將它複製到任何地方,但是你需要告訴windows允許訪問:http://forums.iis.net/t/116764 5.aspx和http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/ – David162795 2014-11-03 10:57:29

相關問題