Работаем с 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 , в которой
расскажу всё более подробно.
Спасибо за внимание :)
Автор: Лисовский Сергей
Источник: www.codenet.ru
|