(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

PHP: работа с FTP

Источник: codenet
Лисовский Сергей

 почти на 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 , в которой расскажу всё более подробно.

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



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 19.12.2006 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
SAP Crystal Reports 2008 INTL WIN NUL License
Oracle Database Personal Edition Named User Plus Software Update License & Support
Nero 2018 Platinum ESD
ARCHICAD 21, локальная лицензия на 12 месяцев
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Мир OLAP и Business Intelligence: новости, статьи, обзоры
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100