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

Внимание

Данная возможность была объявлена УСТАРЕВШЕЙ, начиная с 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() для получения установленного значения.