2010-02-01 2 views
0

В прошлом я создал php-файл, который генерирует XML, а затем ссылался на него вместо XML-файла, и он сработал. Я пытаюсь это с предварительно скомпилированным флеш-приложением, и он не работает.Создайте XML с помощью PHP и передайте его SWF

Любые идеи, почему?

Он работает, если я запустил сценарий, сохранил его, а затем ссылаюсь на этот файл на swf. Я бы предпочел не генерировать файл в файловой системе, если это возможно. Какие-нибудь решения?

+0

искал файл политики? какую ошибку вы получаете? – bhups

+0

Не помните, если Flash требует правильного заголовка Content-Type, но вы должны убедиться, что ваш PHP-скрипт, генерирующий xml, имеет 'header ('Content-Type: text/xml');' – sberry

+0

Это просто кажется crash my flash ... Я получаю «Сценарий в этих фильмах заставляет adobe flash 9 работать медленно ... вы хотите прекратить запуск скрипта» – Mark

ответ

1

Если вы тянете страницу PHP в браузере вы уверены, что:

  1. Файл не имеет белый пробел, предшествующий прологу XML (<?xml version="1.0" ... ?>)
  2. XML хорошо сформирован

Еще одна вещь, которую нужно проверить, - это посмотреть в firebug на панели net ... это shoudl показать все сделанные запросы/ответы, в том числе сделанные с помощью flash (им предполагается, что это встроено в веб-страницу). Посмотрите и убедитесь, что ваша вспышка действительно ищет файл, который, по вашему мнению, он должен искать.

+0

Проверял XML, его хорошо сформировал и не имеет пробела, предшествующего пролому XML, также работает XML, если я сохраняю то, что генерировал файл PHP – Mark

+1

firebug сохранен в день :) Спасибо – Mark

+0

У Firebug есть умение для этого ;-) – prodigitalson

1

Без дополнительной информации (код и т.д.), я могу только догадываться:

  • Вы пытаетесь выполнить его на сервере? php необходимо интерпретировать для генерации фактического вывода XML, поэтому, если вы не поместите его на веб-сервер (который поддерживает php), контент не будет создан, а флеш-фильм просто увидит php-код.
  • Проверьте содержимое загруженного файла php/XML, проведите его в текстовое поле для отладки, чтобы вы могли проверить правильность загрузки фактического содержимого.
  • Слушайте все возможные события объекта URLLoader. Возможно, есть некоторая ошибка ввода-вывода, которую вы не видите. В качестве альтернативы вы также можете использовать проигрыватель Flash debug, чтобы узнать, не возникают ли ошибки.

Также: Какую версию ActionScript вы используете?

+0

PHP делает свою работу просто отлично, как будто я запускаю скрипт и сохраняю его, а затем ссылаюсь на swf он отлично работает – Mark

+0

Я знаю очень мало о вспышке ...может ли время, затрачиваемое PHP на создание XML, в отличие от того, что оно мгновенно становится причиной? – Mark

+0

Я не говорю только о файле php. Я уверен, что работает достаточно хорошо. Я говорю о всей цепочке, где Flash пытается открыть этот php-файл. И вы не можете проверить это, разделив цепочку. – poke

0

Не видя какого-либо кода, я подозреваю, что заголовок содержимого не настроен правильно и PHP-скрипт отправляется как html.

Вы можете установить тип содержимого с Funciton заголовка:

header('Content-Type: text/xml');

+0

Flash не заботится о типе MIME файла, который он загружает. Он получает содержимое как текст, а затем класс XML пытается интерпретировать его как XML. – poke

+0

уже пробовал, не повезло ... спасибо в любом случае – Mark

0

Я бы предположил, что если какая-либо настройка в вашем php.ini вызывает сжатие вывода (zlib.output_compression или ob_gzhandler).

Смежные вопросы