2011-03-15 26 views
0

如何檢測硬盤上的所有音樂,然後將其複製到PHP文件夾中? 我有3個文件夾命名爲music1,music2,music3我想從這些文件夾中獲取所有音樂,並將其移動到名爲Music的一個文件夾中。這可能在PHP?如何檢測硬盤上的所有音樂,然後將其複製到PHP中的文件夾?

+1

只是爲了澄清:所有文件夾都在同一臺機器上,對不對?所以我們並沒有討論客戶端 - 服務器(瀏覽器 - 服務器)場景。 – Maerlyn 2011-03-15 21:46:59

+0

如果您樂意根據擴展名確定音樂文件,請使用glob()進行選擇,然後重命名()以移動。或者只是使用其硬盤上的操作系統功能 – 2011-03-15 21:54:40

+0

? (客戶端或服務器?) – Neal 2011-03-15 22:08:38

回答

1
function moveMyMusic($path){ 
    if ($handle = opendir($path)) { 
     while (false !== ($file = readdir($handle))) { 
      if($file != '.' && $file != '..'){ 
      @rename($path . $file, '/mynewmusic/'.$file) 
     } 
    } 
    closedir($handle); 
} 
moveMyMusic('/music1/'); 
moveMyMusic('/music2/'); 
moveMyMusic('/music3/'); 

它不會僅查找音樂文件,也不會覆蓋現有文件,但會將其保留在原始目錄中。

坦率地說,有更容易的方式來做到這一點,像這樣的使用bash:Unix shell file copy flattening folder structure

+0

循環內你可以檢查文件擴展名使用fnmatch()匹配音樂文件 – criticus 2011-03-15 22:11:52

+0

glob()將取代大部分,它有一個很酷的名字:-) – 2011-03-15 22:30:01

+0

@Dagon它的確如此,但它會達到內存限制,如果你使用的音樂文件通常是大文件 – criticus 2011-03-15 22:46:37

相關問題