Відкриття файлів через ftp або http

Довідковий матеріал з основних мов програмування і верстки сайтів.

Готова методика створення простих і складних динамічних сайтів, з використанням PHP і MySQL.

Розробка веб-сайтів під "ключ".

Розробка окремих фрагментів сайтів, консультації з питань верстки веб-сторінок і веб-програмування.

Веб-інструмент

Веб-майстерня

Веб-послуги

Веб-графіка

Веб-ресурси

Відкриття файлів через ftp або http

Хочете бути в курсі подій, що відбуваються на сайті? Підпишіться на отримання останніх новин та статей.

Подивіться в Google

Відкриття файлів через FTP або HTTP. Проблеми при відкритті файлів

Відкриття файлів через ftp або http

Відкриття файлів через FTP або HTTP

Якщо використовується ім'я файлу починається з ftp: //, відкривається FTP-з'єднання в пасивному режимі із зазначеним вами сервером і повертається вказівник на початок файлу.

Проблеми, що виникають при відкритті файлів

Типова помилка, яку ви можете зробити при відкритті файлу - це відсутність дозволу на читання цього файлу або на запис в нього. Як правило дана помилка виникає в UNIX-подібних операційних системах, хоча іноді з нею можна зіткнутися і в Windows. В такому випадку РНР виводить відповідне попередження.

У разі отримання повідомлення про помилку необхідно переконатися, чи має користувач, від імені якого виконується сценарій, право доступу до файлу, яким ви намагаєтеся скористатися. Залежно від настройки сервера сценарій може виконуватися або від імені користувача веб-сервера, або від імені власника каталогу, в якому зберігатися сценарій.

У більшості систем сценарій виконується під ім'ям користувача веб-сервера. Якщо сценарій знаходиться в каталозі, наприклад,

phpstroy / test / системи UNIX, ви могли б створити загальнодоступний для запису каталог для зберігання в ньому замовлень, набравши наступні команди:

Майте на увазі, що каталоги, в яких будь-який користувач може записати все, що завгодно, несуть в собі потенційну опастность. У вас не повинно бути каталогів, які доступні для запису безпосередньо з веб середовища. Саме з цієї причини наш каталог orders розміщується на два підкаталогу вище каталогу phpstroy.

Некоректні настройки прав доступу, по -видимому, являють собою найбільш часто зустрічається помилку під час відкриття файлу, однак вона далеко не єдина. Якщо файл не може бути відкритий, то ви повинні про це знати, щоб не робити подальших спроб зчитувати з нього або записувати в нього дані.

Якщо виклик функції fopen () завершується невдачею, вона повертає значення false. Обробку помилок можна зробити більш зручною для користувача, для чого буде потрібно придушити повідомлення про помилку і вивести власне, більш осмислене повідомлення:

echo '

На даний момент ваш запит не може бути опрацьований. '

'Будь ласка. спробуйте пізніше.

';

Символ @ перед зверненням функції fopen () вказує РНР на необхідність придушення будь-яких повідомлень про помилки, що генеруються за результатами виклику функції. Завжди корисно знати, з якої причини щось виконується неправильно, але в даному випадку ми з цією проблемою будемо розбиратися в іншому місці.

Перший рядок можна записати і в наступному вигляді:

$ Fp = @ fopen ( "$ DOCUMENT_ROOT /../ orders / orders.txt", 'ab');

Така форма запису робить її менш зрозумілою, до того ж ускладнюється налагодження коду.

Описаний метод є простим метод обробки помилок.

Оператор if перевіряє змінну $ fp з метою з'ясування, повернула функція fopen () допустимий покажчик файлу; якщо це не так, виводиться повідомлення про помилку, після чого виконання сценарію завершується. Оскільки тут завершується і сторінка, зверніть увагу на завершальні HTML-дескриптори, щоб забезпечити отримання правильного HTML-коду.

Додайте код виводить повідомлення про помилки в кінець файлу processorder.php.

Відкрийте сторінку з HTML-формою замовлення, заповніть її та натисніть кнопку Надіслати Замовлення.

Схожі статті