Вчера я писал о том, что один из сайтов необходимо перенести на другой хостинг, загвоздкой стало то, что архив сайта лежал в папке недоступной из web. Поэтому как вы понимаете импортировать его не удается. Чтож решил написать сам приметивненький скрипт который бы копировал файл с одного FTP на другой, думаю для кого-то это статья будет также полезна.
- <?php
- //www.overme.ru
- // объявление переменных
- $ftp_server = 'myserver.com';
- $ftp_user_name = 'root';
- $ftp_user_pass = 'password';
- $local_file = 'temp/local.tgz';
- $server_file = 'private/sitearchive.tgz';
- // установка соединения
- $conn_id = ftp_connect($ftp_server);
- // вход с именем пользователя и паролем
- $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
- // проверка соединения
- if ((!$conn_id) || (!$login_result)) {
- echo "Не удалось установить соединение с FTP сервером!";
- echo "Попытка подключения к серверу $ftp_server под именем $ftp_user_name!";
- exit;
- } else {
- echo "Установлено соединение с FTP сервером $ftp_server под именем $ftp_user_name";
- }
- // попытка скачать $server_file и сохранить в $local_file
- if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
- echo "Произведена запись в $local_file\n";
- } else {
- echo "Не удалось завершить операцию\n";
- }
- // закрытие соединения
- ftp_close($conn_id);
- ?>
Исполнительный файл вы можете назвать как угодно желательно с расширением .php (почему желательно? Потому что на некоторых хостингах интерпритируютса как php только файлы с таким расширением) .
На папку “temp” обязательно выставите CHMOD 777 иначе ничего не получится. Также данную папку вы можете назвать как угодно. В переменной server_file указывайте путь к файлу, который будет скопирован. Думаю человек который разбирается в php, не станет гадать для чего нужны остальные переменные, иначе зачем тебе этот скрипт, иди учи великий и могучий пых : )
Чтож вот и вся незамысловатая конструкция. Скрипт можно легко расширить и научить его копировать файлы кучей. Если скрипт не запустится, проверьте установлен ли модуль PHP для работы с ftp и включен ли он.
для ленивых, готовый файл. просто залей на хост.