PHP: робота з FTP, HTML, XML, DHTML, Інтернет-технології, статті

майже на 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, в якій розповім все більше докладно.

Спасибі за увагу 🙂


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*