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

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

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

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

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

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

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

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

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