2013-05-29 91 views
-4

如何刪除維護php內容的目錄?使用php刪除目錄但不包含內容使用php

例如:

我有這個目錄中的文件:

+ /home/user/files/arq1.mp3 
+ /home/user/files/arq2.mp3 
+ /home/user/files/arq3.mp3 

而且PHP文件上:

+ /home/user/files.php 

如何刪除文件目錄,但繼續/home/user/ directory MP3文件??

+3

向外移動的一切,然後刪除該文件夾。 –

+0

但是,如果我有更多的子目錄?我需要這個移動主目錄和子目錄上的所有文件。 –

+0

如果要將文件保存在目錄中,刪除目錄有什麼意義?你想重命名目錄嗎? –

回答

1

PHP方法:

foreach (glob("/home/user/files/*") as $file) { 
    copy($file,"/home/user/".basename($file)); 
} 
rmdir("/home/user/files/"); 

終端方法:

mv /home/user/files/* /home/user/* 
rmdir /home/user/files/ 
+0

幾乎是完美的,我會盡量適應我的需要。謝謝。 –

1

* nix的做法:)

find . -type f | awk '{print "cp " $1 " ."}' | sh 

如果你不確定做什麼的第一次嘗試一個底部,那隻會打印生成的動作。把它們管到'sh'就可以執行它們。

find . -type f | awk '{print "cp " $1 " ."}' 

好:) PHP方法:

function flatten_structure($path = './tree', $target_path = './flat') { 
    $handle = opendir($path); 
    while(false !== ($item = readdir($handle))) { 
    if (is_file($path . '/' . $item)) copy($path . '/' . $item, $target_path); 
    if (is_dir($path . '/' . $item)) flatten_structure($path . '/' . $item, $target_path); 
    } 
} 
+0

+1,我不熟悉nix,但他的服務器可能正在運行:) –

+0

我知道如何在Linux上做到這一點,但我試圖讓我的代碼遠離直接的ssh命令。 –