Главная » Полезные статьи » Язык PHP » Работаем с FTP на уровне PHP
Распечатать статью

Работаем с FTP на уровне PHP

Я почти на 100% уверен , что вы уже работали с FTP. Сейчас я поведаю, как работать с ним на уровне языка PHP. Итак , для начала вам необходимо вспомнить, как работать в PHP с обычными файлами: сначала надо открыть файл, выполнить с ним какие-либо действия и, наконец, закрыть его. Причем при записи и чтении файла вы не обойдетесь без помощи функции «fopen» (если только вы не используете функцию «file»).

Итак, теперь, собственно, про сам FTP.

Работа с FTP начинается с открытия «потока» (stream) и делается это функцией «ftp_connect()» (аналогично функции fopen в работе с файлами).
ftp_connect(«имя хоста»,»порт»,»timeout»);

Вместо «имя хоста» пропишите имя сайта, к которому вы хотите подключиться. В параметре «порт» укажите ftp-порт удаленного сервера (обычно «21»), а в «timeout» — на какое время (в секундах) вы хотите открыть соединение. Результат выполнения функции нужно присвоить какой-либо переменной, в нашем примере это переменная $open.

Пример:
$open = ftp_connect(«ftp.server.com», 21, 30);

Для входа по вашему аккаунту на сервере воспользуйтесь функцией «ftp_login()».

Пример:
ftp_login($open, «your_username», «your_password»);

А лучше это сделать следующим образом:
if (!ftp_login($open, «your_username», «your_password»)) exit(«Не могу соединиться»);

Параметр «your_username» должен содержать ваш username для входа, а «your_password» — соответственно, ваш пароль. Переменная $open является идентификатором соединения с ftp узлом, к которому вы подключились с помошью «ftp_connect».

Все. Если вышеуказанный код не выдал вам никаких ошибок, значит вы успешно подключились к ftp узлу.

А теперь поговорим о функциях работы с FTP:

Функция ftp_mkdir() создаёт директорию, пример:
ftp_mkdir($open,»test»); //Создали папку «test».

Функция ftp_rmdir удалит папку:
ftp_rmdir($open,»test»); //Удалили ранее созданную нами папку папку «test».

Переименовать файл можно функцией «ftp_rename()»:
ftp_rename($open,»test.txt»,»ok_test.txt»);

Мы переименовали «test.txt» в «ok_test.txt» , вместо «test.txt» может быть любой другой файл.

Просмотреть содержимое вашего каталога можно следующим образом:
$site = ftp_nlist($open,»»);
$d = 5;
for ($i = 0; $i < $d; $i++) echo $site[$i];

Функция «ftp_nlist()» возвращает один файл из вашего каталога , если вам нужно просмотреть все файлы, то ее сдедует использовать в цикле, как сделано выше.

Функция «ftp_size()» возвращает размер файла, либо значение «-1″ в случае неудачи:
echo ftp_size($open, «test.txt»);

Вам может понадобится узнать дату последнего изменения файла . Это осуществимо с помощью функции ftp_mdtm (учтите, что время возвращается в UNIX-формате):
$mod = ftp_mdtm($open,»test.txt»);
echo $mod;

Заметьте, функция не работает с директориями. Для удаления файла воспользуйтесь функцией ftp_delete(), например:
ftp_delete($open,»test.txt»);

Закрывается же соединение функцией «ftp_close()».
ftp_close($open);

Эта функция аналогична функции fclose() при работе с файлами, в нашем примере идентификатор соединения находится в переменной «$open». Теперь просто фрагмент бессмысленного кода :
ftp_connect(«ftp.hot.ee»,»21″,»100″);
if(!ftp_login($open,»prosto_user»,»ahahaha»))
exit(«Не могу соединиться»);
mkdir($open,»test»); //Создали директорию
rmdir($open,»test»); //Удалили директорию
rename($open,»test.txt»,»test_i_eche_raz_test.txt»);
//Переименовали файл
ftp_close($open); //Закрыли поток

Всё, на этом первая глава заканчивается . Здесь дано только представление о возможностях PHP относительно FTP, если как говорится руки дойдут, то напишу вторую главу про FTP , в которой расскажу всё более подробно.

Спасибо за внимание :)

Источник:   codingrus.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи