Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [PHP] Kopiowanie folderów SFTP - PHP

Napisany przez: Lukasz050 13.08.2019, 21:36:07

Cześć,

Potrzebuje pomocy. posłużę się przykładem.

u mnie lokalnie jest ścieżka: mnt/folder1/

w tym katalogu znajdują się inne katalogi które wewnątrz mają pliki. czyli finalnie mamy na przykład:
mnt/folder1/001/123.jpg
mnt/folder1/002/234.jpg
itd

Teraz muszę wszystko co jest w katalogu folder1 czyli wszystkie podkatalogi z ich zawartościami skopiować do tego katalogu na SFTP. mam problem ponieważ nie wiem jak to zrobić.
nie chodzi tu o kopiowanie tych konkretnych folderów ponieważ one będą się codziennie zmieniały chodzi po prostu o kopiowanie całej zwartości wraz z podkatalogami na serwer SFTP

Posiadam działający kod do przeniesienia samych plików ale nie sprawdza się w przypadku katalogów. Proszę o pomoc

  1. $connection = ssh2_connect($host, $port);
  2. ssh2_auth_password($connection, $user, $pass);
  3. $sftp = ssh2_sftp($connection);
  4.  
  5.  
  6. $handle2 = http://www.php.net/opendir("/mnt/Folder1");
  7. while (false != ($entry2 = http://www.php.net/readdir($handle2))){
  8. if($entry2 != '.' && $entry2 != '..' && $entry2 != '.DS_Store') {
  9.  
  10. $localFile="/mnt/Folder1/$entry2";
  11. $remoteFile="/Folder1/$entry2";
  12. $stream = http://www.php.net/fopen("ssh2.sftp://$sftp$remoteFile", 'w');
  13. $file = http://www.php.net/file_get_contents($localFile);
  14. http://www.php.net/fwrite($stream, $file);
  15. http://www.php.net/copy("/Folder1/$entry2", "/mnt/Folder1/$entry2");
  16.  
  17. }
  18. }
  19. http://www.php.net/fclose($stream);



Napisany przez: dwadolary 14.08.2019, 08:05:04

Funkcja copy() ogarnia tylko pojedyncze pliki.

Tutaj znajdziesz rozwiązanie: https://stackoverflow.com/questions/2050859/copy-entire-contents-of-a-directory-to-another-using-php

--------------------

Napisany przez: Lukasz050 14.08.2019, 08:19:37

Widziałem już to rozwiązanie tylko nie wiem jak to zaimplementować w przypadku gdy przenoszę plik na sftp czyli wykorzystuje fopen

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)