2014-02-05 81 views
1

只是我試圖將所有文件源複製到目的地,然後從PHP中刪除源文件中的所有文件。將所有文件源複製到目的地,然後從php源文件中刪除所有文件

這裏是我的代碼:

function rcopy($src, $dst) { 
    if (is_dir($src)) { 
     $files = scandir($src); 

     foreach ($files as $file) { 
      if ($file != "." && $file != "..") 
       rcopy("$src/$file", "$dst/$file"); 
     } 

     array_map('unlink', glob($src."/*")); 
    } else if (file_exists($src)) { 
     copy($src, $dst); 
    } 
} 

複製的工作很好,但文件未從源中刪除。請幫助

+0

「rcopy」究竟做了什麼?我無法在文檔中找到它。 – crush

+0

同一臺機器上是否有'$ src'和'$ dst'?不同的機器?你有權刪除'$ src'上的文件嗎?你是否收到任何錯誤? – crush

+0

@crush像'copy'一樣 – codemania

回答

1
$files = scandir($src); 
    foreach ($files as $file) { 
     if ($file != "." && $file != "..") { 
      rcopy("$src/$file", "$dst/$file"); 
      unlink("$src/$file"); 
     } 
    } 
+2

解釋爲什麼*會很好。 – deceze

0

刪除目錄使用rmdir,取消鏈接使用刪除文件。 注意:該目錄必須爲空,並且相關權限必須允許執行此操作。

+0

他想刪除文件,而不是目錄。 – crush

+0

@crush你的權利。 – codemania

+0

但是在代碼中,他檢查is_dir($ src),如果是true,他會遞歸調用rcopy。 – Stafox

相關問題