Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak skutecznie przekopiować folder ?
Forum PHP.pl > Forum > Przedszkole
gosc
Witam,
jak przekopiować zawartość folderu w php ? Niestety funkcja copy mi nie działa.

Dodam, że zawartośc katalogu "test", wygląda tak:

Kod
121 -> kilka plików + folder
2212 -> kilka plików + folder


Skrypty userów z manuala mi nie działają -.-
ViX
W pętli "przelatujesz" folder plik po pliku funkcją copy, a następnie tworzysz w nowej lokalizacji foldery które istnieją w tym i również przelatujesz je funkcją copy.

Pisane z palca na szybko, ale na szybkim teście zdało egzamin:

  1. function copyDirToDir($source, $destination)
  2. {
  3. $scan = scandir($source);
  4.  
  5. $countScan = count($scan);
  6.  
  7. //przelotka po folderach i plikach
  8. for($i=2; $i<$countScan; $i++)
  9. {
  10. //nazwa pliku/folderu wraz z pełną ścieżką
  11. $fileWithDir = $source.'/'.$scan[$i];
  12.  
  13. //jeśli folder - tworzymy w docelowej lokalizacji i
  14. //kopiujemy jego zawartość funkcja rekurencyjna
  15. if(is_dir($fileWithDir))
  16. {
  17. mkdir($destination.'/'.$scan[$i]);
  18.  
  19. copyDirToDir($fileWithDir, $destination.'/'.$scan[$i]);
  20. }
  21. else
  22. {
  23. //nie przenosimy samego siebie
  24. if($scan[$i] == 'copyDirToDir.php')
  25. break;
  26.  
  27. //przenieś na miejsce docelowe
  28. if(copy($fileWithDir, $destination.'/'.$scan[$i]))
  29. {
  30. echo '|';
  31. }
  32. else
  33. {
  34. echo ':';
  35. }
  36. }
  37. }
  38. }


Wyświetlane jest | lub : po wykonaniu, gdyż odpalam funkcję w shellu.
Wrzuć sobie co potrzebujesz w ich miejsce wink.gif (np. jakąś zmienną która policzy Ci ilość plików czy coś tam wink.gif )
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.