Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: masowe kopiowanie
Forum PHP.pl > Forum > PHP
jarmiar
Witam
Czy istnieje jakaś funkcja, która umożliwi masowe kopiowanie plików z jednego katalogu do drugiego?
domis86
Przez masowe masz na myśli rekursywne, rekurencyjne.
Wklejam tu moją funkcje move_folder, potrzebowalem ja keidys do jednego projektu:

  1. <?php
  2. function get_all_file_list($dir)
  3. {
  4. $file_list = array();
  5.  
  6. if (is_dir($dir)) {
  7.  if ($dh = opendir($dir)) {
  8.  while (($name = readdir($dh)) !== FALSE)
  9.  {
  10.  if (($name!='.')&&($name!='..'))
  11. {
  12. $t['name'] = $name;
  13. $t['date'] = filemtime($dir . $name);
  14. $t['type'] = filetype($dir . $name);
  15. $file_list[] = $t;
  16. }
  17.  }
  18.  closedir($dh);
  19.  }
  20. }
  21.  
  22. return $file_list;
  23. }
  24.  
  25.  
  26.  
  27. function move_folder($from, $to)
  28. {
  29. $list = get_all_file_list($from);
  30. foreach($list as $key=>$val)
  31. {
  32. if ($val['type']=='file')
  33. {
  34. $old_name = $from . $val['name'];
  35. $new_name = $to . $val['name'];
  36. $result=@rename( $old_name, $new_name );
  37. if ($result==FALSE)
  38. { die ('Blad przy przenoszeniu "'.$old_name.'" do "'.$new_name.'"'); }
  39.  
  40. echo '<span class="green">Przeniesiono plik <b>'. $old_name
  41. .'</b> do <b>'. $new_name . '</b></span><br />';
  42. }
  43. else
  44. {
  45. mkdir($to . $val['name']);
  46. echo '<span class="green">Utworzono katalog <b>'
  47. . $to . $val['name'] . '/</b></span><br />';
  48. move_folder($from.$val['name'].'/', $to.$val['name'].'/');
  49. }
  50. }
  51. }
  52. ?>


ona sluzy do przenoszenia, ale latom ozna ja przerobic na kopiowanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.