Один из сайтов необходимо перенести на другой хостинг, загвоздкой стало то, что архив сайта лежал в папке недоступной из web. Поэтому как вы понимаете импортировать его не удается. Чтож решил написать сам приметивненький скрипт который бы копировал файл с одного FTP на другой, думаю для кого-то это статья будет также полезна.
Ниже листинг кода:
//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 и включен ли он.
для ленивых, готовый файл. просто залей на хост.


в
Было бы интересно узнать поподробнее
в
[...] Денис по прежнему дуэлирует. Человек на Пределе пишет скрипты, СЕО-чайник оффтопит. Степыч пророчит смерть Бегуну, [...]
в
чтож довольно полезный скриптик. И по коду не много занимает. Сразу видно хороший уровень программинга.
в
[...] Денис по прежнему дуэлирует. Человек на Пределе пишет скрипты, СЕО-чайник оффтопит. Степыч пророчит смерть Бегуну, [...]
в
Все сделал. файл копируется но размер 0 кб, а браузер выдает вот что
The page cannot be displayed
The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings.
Please try the following:
* Click the Refresh button, or try again later.
* If you typed the page address in the Address bar, make sure that it is spelled correctly.
* To check your connection settings, click the Tools menu, and then click Internet Options. On the Connections tab, click Settings. The settings should match those provided by your local area network (LAN) administrator or Internet service provider (ISP).
* If your Network Administrator has enabled it, Microsoft Windows can examine your network and automatically discover network connection settings.
If you would like Windows to try and discover them,
click Detect Settings Detect Network Settings
* Some sites require 128-bit connection security. Click the Help menu and then click About Internet Explorer to determine what strength security you have installed.
* If you are trying to reach a secure site, make sure your Security settings can support it. Click the Tools menu, and then click Internet Options. On the Advanced tab, scroll to the Security section and check settings for SSL 2.0, SSL 3.0, TLS 1.0, PCT 1.0.
* Click the Back button to try another link.
Cannot find server or DNS Error
Internet Explorer