Установка и чтение файлов cookie
Создавайте файлы cookie с помощью setcookie и читайте их из _COOKIE
«Установка и чтение файлов cookie» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.
Что такое файлы cookie?
Файлы cookie — это небольшие фрагменты данных, хранящиеся в браузере. Сервер отправляет их через заголовок Set-Cookie, а браузер возвращает их при каждом последующем запросе.
setcookie()
setcookie() необходимо вызвать до вывода любых данных. Функция добавляет заголовок Set-Cookie к ответу.
<?php
setcookie("username", "alice", time() + 3600);Параметры setcookie()
Полная сигнатура: setcookie(name, value, expires, path, domain, secure, httponly).
<?php
setcookie(
"prefs",
"dark-mode",
time() + 86400,
"/",
"",
true,
true
);Чтение файла cookie
Получайте доступ к файлам cookie через $_COOKIE при следующем запросе (файлы cookie, установленные в текущем запросе, ещё не находятся в $_COOKIE).
<?php
if (isset($_COOKIE["username"])) {
echo "Hello, ".$_COOKIE["username"];
}Удаление файла cookie
Установите для файла cookie срок действия в прошлом. Браузер удалит его.
<?php
setcookie("username", "", time() - 3600, "/");Срок действия файла cookie
Передайте метку времени Unix для $expires. Используйте time() + seconds. Передайте 0 для файла cookie сеанса, срок действия которого истекает при закрытии браузера.
Путь и домен файла cookie
$path ограничивает пути URL, для которых виден файл cookie. Значение / означает все пути. $domain позволяет предоставлять доступ из разных поддоменов: .example.com.
Ограничение размера файла cookie
Браузеры ограничивают размер каждого файла cookie примерно 4 KB. Для больших объёмов данных храните их на сервере, а в файле cookie сохраняйте только ID ссылки.
Массивы файлов cookie
PHP поддерживает файлы cookie в виде массивов, если использовать квадратные скобки в имени.
<?php
setcookie("filters[color]", "blue");
setcookie("filters[size]", "XL");
// Read: $_COOKIE["filters"]["color"]Просмотр файлов cookie в DevTools
Откройте DevTools → Application → Cookies, чтобы просмотреть все файлы cookie. Здесь проверьте флаги Secure, HttpOnly и SameSite.
Файлы cookie и сеансы
Файлы cookie: хранятся на стороне клиента, имеют ограниченный размер, доступны через JS (если не установлен флаг HttpOnly) и сохраняются между сеансами. Сеансы: хранятся на сервере, не ограничены по размеру и более безопасны.
Итоги
Используйте setcookie() до вывода любых данных. Читайте данные из $_COOKIE при следующем запросе. Правильно задавайте срок действия, путь, домен, флаги Secure и HttpOnly.
Быстрая проверка
Когда файл cookie, установленный с помощью setcookie(), становится доступен в $_COOKIE?
Часто задаваемые вопросы
Урок «Установка и чтение файлов cookie» бесплатный?
Да — полный текст урока «Установка и чтение файлов cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.
Чему я научусь в уроке «Установка и чтение файлов cookie»?
Создавайте файлы cookie с помощью setcookie и читайте их из _COOKIE Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Установка и чтение файлов cookie»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Запуск и использование сессий
- Лучшие практики защиты сессий
- Установка и чтение файлов cookie
- Безопасность cookie: флаги HttpOnly и Secure