То, что вам нужно, зависит от того, что вы делаете с данными.Если вы просто выгружаете данные в плоский файл в следующем формате:
foo,bar,baz
foo1,bar1,baz1
Тогда, очевидно, символы ,
и символ новой строки являются значимыми символами в вашем формате хранения.Поэтому вам нужно экранировать символы ,
или символы новой строки в самих значениях.
Существует также вопрос о том, как вы вставляете данные.Если вы просто выбросите его, используя fwrite($fh, $data)
, вам нечего убежать.Если вы используете какой-либо внешний интерфейс, например SQL, для своего плоского файла, вам нужно экранировать любые значения, которые вы можете объединять, в запрос SQL, чтобы сохранить допустимый синтаксис SQL.
Экранирование данных необходимо только при вставке текстастроки в других строках, есть некоторые символы, которые имеют специальное значение , и вы не хотите, чтобы эти специальные символы в строках value вызывали любое специальное действие,В этом случае вам нужно экранировать любые символы, которые могут иметь специальное значение .