Як мене підставила теща і при чому тут скрипт PHP сервера

29

Від автора: на днях теща попросила грядки на дачі скопати, так я похапцем не тільки свою ділянку «виорав», але і хороший шматок сусідського. І все тому, що мені не дали чітких інструкцій у вигляді добре помітних кілочків. Щоб не повторювати таких помилок в Мережі, завжди використовуйте правильну скрипт сервера PHP.

Завантаження на серверне простір

Велика частина мережевих ресурсів надає користувачам різний контент. А також можливість його завантаження на ПК. Але для деяких сайтів вимагає реалізації зворотного функціоналу – кошти завантаження файлу на серверне простір.
Для звичайних сайтів даний інструментарій також стане в нагоді. Наприклад, якщо потрібно надати користувачам можливість завантаження зображення для аватарки профілю. Розглянемо більш докладно, як реалізувати даний функціонал.

Для цього потрібна спеціальна форма, через яку користувач з допомогою елемента управління вказує місце розташування файлу на дисковому просторі свого ПК.

Для відображення вікна провідника, через яке вказується файл для завантаження, застосовується HTML-елемент input з певним значенням атрибута type:

Крім цього для відправки даних для обробки на сторону сервера потрібно кнопка Submit:

Тепер об’єднаємо всі перераховані елементи управління в одну форму:

Зверніть увагу на використання у формі атрибута enctype і на його значення. В більшості випадків його застосування необов’язково. Але у випадку реалізації PHP скрипта завантаження файлів на сервер enctype потрібно вказувати, щоб передані дані не кодувалися.

Програмуємо

Тепер переходимо до розробки програмного коду, який буде зберігати файли на серверному просторі ресурсу. Ім’я файлу скрипта задається атрибутом action.

В нашому коді головна роль відводиться глобального масиву $_FILES. Його елементи можна переглянути, якщо вказати обробник форми і вивести вміст за допомогою функції print_r().

Тепер наведу весь код обробника:

У першому рядку ми вказуємо директорію, де будуть зберігатися всі завантажені користувачами файли. У другій – переносимо файл з тимчасової директорії. Вона задається значенням змінної upload_tmp_dir в конфігурації php.ini. Тут же встановлюється максимальний обсяг завантаження і інші параметри.

Якщо потрібно вивести інформацію про завантаженому файлі, то використовуйте значення елементів глобального масиву:

«;
echo «Розмір (в байтах): «.$_FILES[‘file_path’][‘size’];
?>

Моніторинг сервака

Що стосується розробки PHP скрипта для моніторингу сервера, то це завдання нам поки що «не по зубах». Для написання такого коду потрібно створення окремого інтерфейсу і довгий екскурс в особливості мережної взаємодії. А також організація запуску даного скрипта з допомогою спеціалізованої програми (типу Cron).

До того ж використання подібного підходу вважається застарілим. Набагато вигідніше і простіше «моніторити» свій ресурс з допомогою таких аналітичних платформ, як Google Analytics bkb Яндекс.Метрика.

Ну, а з городом у мене все нормально. Від інших сусідів вже надійшли пропозиції попрацювати безкоштовним «трактором» і на їх ділянках. Але я відмовився :) .