miv-men
@miv-men
Фронт и бэк

Почему фид с товарами из 1с-Битрикс открывается как php если в заголовке указан тип text/xml?

Здравствуйте.

Использую стандартный функционал генерации фидов с товарами 1С-Битрикса "Экспорт данных".
Фиди генирируются по крону, на выходе полуяается php файл в котором через echo выводятся xml.

Первые 10 строчик фида выглядет след образом:
<? $disableReferers = false;
if (!isset($_GET["referer1"]) || strlen($_GET["referer1"])<=0) $_GET["referer1"] = "yandext";
$strReferer1 = htmlspecialchars($_GET["referer1"]);
if (!isset($_GET["referer2"]) || strlen($_GET["referer2"]) <= 0) $_GET["referer2"] = "";
$strReferer2 = htmlspecialchars($_GET["referer2"]);
header("Content-Type: text/xml; charset=windows-1251");
echo "<"."?xml version=\"1.0\" encoding=\"windows-1251\"?".">"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2024-11-19 17:27">
<shop>


Дело в том что файл начинается с <?xml в этом нет проблем так как выше указан тип документа text/xml
Но иногда почему то игнорируется тип документа, и файл открывается по расширению как php, первые символы <? интерпритируются как открытие php кода, а все что далее соответственно как php.

И получается такая ситуация, что при скачивании через wgrt я вижу содержимое файла, а curl или file_get_contents() отдают пустой документ.

Я пересоздал документ, от стал корректно отдаваться любым способом, при этом начало документа ни как не изменилось. В обоих вариантах как на фрагменте кода выше.

Я как понимаю тут какой то глюк у apache? Подскажите что это и как вылечить, спасибо.
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы