Проблема при попытке записать XML на mac

#php #xml

#php #xml

Вопрос:

у меня возникли проблемы при попытке записать атрибуты xml-файлов с использованием php на Mac. Теперь, странная вещь в том, что он безупречно работает на Windows, но когда я пытаюсь запустить скрипт на Mac, по какой-то непонятной мне причине он продолжает записывать атрибуты xml-файла с тире, это фактический XML-файл, который пишет скрипт:

 <stuff id="stuffid"></stuff>
  

это php-код, действительно базовый скрипт:

 $file = fopen("data.xml","w");
      fwrite($file, $xml);
      fclose($file);
  

кто-нибудь может помочь?, я искал решение этого все утро, я, кстати, использую mamp

Комментарии:

1. Откуда берется $ xml? Покажите, как это сконструировано. Я чувствую запах неправильного использования константы DIRECTORY_SEPARATOR.

2. он поступает из SWF-файла в виде XML, код выше всего кода, который у меня есть в скрипте, за исключением $ _POST

3. Итак, где ошибка? Вы получаете XML с помощью /» или они волшебным образом добавляются с помощью fwrite ()? Что будет написано, если вы fwrite($file, $_POST);

4. да, в этом проблема, они просто волшебным образом добавляются, в XML нет / «, но позвольте мне попробовать то, что вы предлагаете, это так странно, что сводит меня с ума

5. Все еще ничего, чувак, это действительно расстраивает

Ответ №1:

если XML поступает из внешнего источника в виде строки, я предполагаю, что php неправильно настроен, в данном случае это, вероятно, параметр magic_quotes_gpc, который должен быть установлен в «Off»

Комментарии:

1. Это помогло !!, большое вам спасибо. Чувак, я сходил с ума от этой проблемы

Ответ №2:

Вероятно, у вас включены волшебные кавычки. Попробуйте это:

 if(get_magic_quotes_gpc()) 
    $xml = stripcslashes($xml);
  

Узнайте больше на http://php.net/manual/en/security.magicquotes.php

Комментарии:

1. Спасибо, очевидно, мне нужно прочитать об этом больше, я посмотрю.

Ответ №3:

рассматривали ли вы возможность использования класса DOMDocument или класса SimpleXML для создания вашего документа?

Он справится со всем этим за вас…