Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
0
15:35, 16 июня 2008

Копируем файл с одного FTP на другой.

Вчера я писал о том, что один из сайтов необходимо перенести на другой хостинг, загвоздкой стало то, что архив сайта лежал в папке недоступной из web. Поэтому как вы понимаете импортировать его не удается. Чтож решил написать сам приметивненький скрипт который бы копировал файл с одного FTP на другой, думаю для кого-то это статья будет также полезна.

Ниже листинг кода:

  1. <?php
  2. //www.overme.ru
  3. // объявление переменных
  4. $ftp_server = 'myserver.com';
  5. $ftp_user_name = 'root';
  6. $ftp_user_pass = 'password';
  7. $local_file = 'temp/local.tgz';
  8. $server_file = 'private/sitearchive.tgz';
  9. // установка соединения
  10. $conn_id = ftp_connect($ftp_server);
  11. // вход с именем пользователя и паролем
  12. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  13. // проверка соединения
  14. if ((!$conn_id) || (!$login_result)) {
  15. echo "Не удалось установить соединение с FTP сервером!";
  16. echo "Попытка подключения к серверу $ftp_server под именем $ftp_user_name!";
  17. exit;
  18. } else {
  19. echo "Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
  20. }
  21. // попытка скачать $server_file и сохранить в $local_file
  22. if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
  23. echo "Произведена запись в $local_file\n";
  24. } else {
  25. echo "Не удалось завершить операцию\n";
  26. }
  27. // закрытие соединения
  28. ftp_close($conn_id);
  29. ?>

Исполнительный файл вы можете назвать как угодно желательно с расширением .php (почему желательно? Потому что на некоторых хостингах интерпритируютса как php только файлы с таким расширением) .

На папку “temp” обязательно выставите CHMOD 777 иначе ничего не получится. Также данную папку вы можете назвать как угодно. В переменной server_file указывайте путь к файлу, который будет скопирован. Думаю человек который разбирается в php, не станет гадать для чего нужны остальные переменные, иначе зачем тебе этот скрипт, иди учи великий и могучий пых : )

Чтож вот и вся незамысловатая конструкция. Скрипт можно легко расширить и научить его копировать файлы кучей. Если скрипт не запустится, проверьте установлен ли модуль PHP для работы с ftp и включен ли он.

copy.zip
для ленивых, готовый файл. просто залей на хост.
0
1029
0