Что такое волшебные кавычки?


Внимание

Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.

Если эта опция включены, то все символы ' (одиночные кавычки), " (двойные кавычки), \ (обратный слэш) и NULL автоматически экранируются обратным слэшем. Это идентично тому, что делает функция addslashes().

Существует три вида директив волшебных кавычек:

  • magic_quotes_gpc Воздействует на данные HTTP-запроса (GET, POST и COOKIE). Не может быть изменена во время выполнения и по умолчанию в PHP установлена в on. Смотрите также get_magic_quotes_gpc().
  • magic_quotes_runtime Если включена, то большинство функций, которые возвращают данные из внешнего источника, включая базы данных и текстовые файлы, будут экранировать кавычки с помощью обратного слэша. Может быть установлена во время выполнения и по умолчанию в PHP имеет значение off. Смотрите также set_magic_quotes_runtime() и get_magic_quotes_runtime().
  • magic_quotes_sybase Если включено, то одиночная кавычка экранируется одиночной кавычкой вместо обратного слэша. Если установлено значение on, то данная опция полностью перекрывает установку magic_quotes_gpc. В случае, если включены обе директивы, выполняется экранирование только одиночных кавычек с помощью ''. Двойные кавычки, обратные слэши, значение NULL останутся нетронутыми и неэкранированными. Смотрите также ini_get() для получения установленного значения.