Язык программирования php позволяет легко подключаться к сайту через FTP соединение. Для этого он использует встроенную FTP библиотеку, функции которой чаще всего начинаются с фразы ftp_
В предыдущей части я писал подробно о том, как подключаться по php FTP к удаленному серверу, а также рассказал об основных методах работы с ним. Но лень - двигатель прогресса, поэтому я нашел в сети класс для работы с FTP сильно его изменил - улучшил и добавил новые методы.
Итак класс называется FTPClient, скачать его вы можете по ссыле ниже.
Подробно в прицип работы класса я не буду вдаваться, однако он имеет множество преимуществ, нежели мы использовали бы каждый раз стандартные функции.
На что стоит обратить внимание в классе:
- private $connectionId; //id FTP соединения
- private $messageArray = array(); //массив статусов работы с FTP
- Метод connect - соединение с FTP
Единственное, что я забыл учесть метод закрытия по FTP, чтобы выгрузить ресурсы (ftp_close($this->connectionId);) - думаю, вы сами доработаете этот пункт если он вам понадобится, так как соединение по умолчанию открывается на 90 секунд.
Как работать с классом FTP?
На самом деле очень просто - просто создайте экземпляр класса (объект) и используйте следующие доступные методы:
//Создаем объект для работы с FTP
$ftpObj = new FTPClient();
if($ftpObj->connect('сервер', 'юзер', 'пароль_юзера')) { //соединение успешно установлено - делаем действия
$ftpObj->makeDir('/templates/12'); //создаем папку
$ftpObj->delDir('/templates/15'); //удаляем папку
$ftpObj->uploadFile('/templates/12/indexOLD.php', $_SERVER['DOCUMENT_ROOT'].'/index.php'); //загружаем файл с текущего сервера на удаленный
$ftpObj->downloadFile($_SERVER['DOCUMENT_ROOT'].'/indexNEW.php', '/templates/12/index.php'); //скачиваем файл из удаленного сервера в текущий
$ftpObj->delFile('/templates/12/img.png'); //удаляем файл
$ftpObj->listFile('/templates'); //получаем список файлов и папок директории
}
Во всех этих методах нужно лишь передавать параметры - что создаем/удаляем, куда/откуда загружаем/скачиваем.
При работе с загрузкой, скачкой файлов через FTP - в данном примере файлы начинающиеся с $_SERVER['DOCUMENT_ROOT'] относятся к текущему серверу из которого запущен FTP класс.
Чтобы посмотреть логи того, что происходит добавьте в конце код:
for($as_log = 0; $as_log <= count($ftpObj->logMessage()); $as_log++) { echo $ftpObj->logMessage()[$as_log].'<br>'; }
Он показываем все статусы по работе с FTP. Это бывает очень удобным, чтобы контролировать работу скрипта.
Вот такой вот класс у меня получился. Полюсом ООП в PHP является то, что вы легко сможете его модернизировать для себя, добавить новые методы или улучшить старые!
Добавить комментарий