【问题标题】:Generate XML with PHP and pass it to an SWF使用 PHP 生成 XML 并将其传递给 SWF
【发布时间】:2010-02-01 18:37:20
【问题描述】:

过去,我创建了一个生成 XML 的 php 文件,然后引用它来代替 xml 文件,它已经工作了。我正在使用预编译的 Flash 应用程序尝试此操作,但它无法正常工作。

有什么想法吗?

如果我运行脚本,保存它然后将该文件引用到 swf,它就可以工作。如果可能,我宁愿不向文件系统生成文件。大家有什么解决办法吗?

【问题讨论】:

  • 寻找策略文件?您收到什么样的错误?
  • 不记得 Flash 是否需要设置正确的 Content-Type 标头,但您应该确保生成 xml 的 PHP 脚本具有 header('Content-Type: text/xml');
  • 我的 flash 似乎崩溃了...我收到“这部电影中的一个脚本导致 adobe flash 9 运行缓慢...您要停止运行该脚本吗”
  • 还要确保您在响应中发送写入标头...我不做太多闪存但我认为这很重要:-)
  • 感谢 sberry...已经尝试过了...没有运气

标签: php xml flash


【解决方案1】:

如果您在浏览器中拉出 php 页面,您确定:

  1. 文件在 XML 序言之前没有空格 (<?xml version="1.0" ... ?>)
  2. XML 格式正确

要检查的另一件事是查看net 面板上的萤火虫...它应该显示所有发出的请求/响应 - 包括由 Flash 完成的请求/响应(我假设这是嵌入在网页中的)。查看并确保您的闪存确实在寻找您认为它应该寻找的文件。

【讨论】:

  • 检查了 XML,它的格式正确并且在 XML 序言之前没有空格,如果我保存 PHP 文件生成的内容,XML 也可以工作
  • 萤火虫拯救了这一天 :) 谢谢
  • Firebug 有这样做的诀窍 ;-)
  • 我和一个朋友遇到了类似的问题 :( Firebug 告诉你什么?stackoverflow.com/questions/2413266/…
【解决方案2】:

没有更多信息(代码等)我只能猜测:

  • 您是否尝试在服务器上执行它? php 需要被解释来生成实际的 XML 输出,所以如果你不把它放在 web 服务器上(支持 php),就不会生成任何内容,flash 电影只会看到 php 代码。
  • 查看加载的php/XML文件的内容,跟踪到某个文本域进行调试,这样就可以检查实际内容是否加载正确。
  • 侦听URLLoader 对象的所有可用事件。也许有一些 IO 错误,你没有看到。或者,您也可以使用 Flash 调试播放器查看是否出现错误。

另外:您使用的是什么 ActionScript 版本?

【讨论】:

  • PHP 工作正常,就好像我运行脚本并保存它然后将其引用到 swf 它工作正常
  • 我对 flash 知之甚少... PHP 生成 XML 所花费的时间,而不是立即可用的原因是什么?
  • 我不是在单独谈论 php 文件。我相信这已经足够好了。我说的是 Flash 尝试打开该 php 文件的整个链。而且你不能通过分离链条来检查。
  • 很遗憾,这是一个预编译的应用程序,源代码不可用。 :S
  • 不,php文件生成内容,然后返回内容。 Flash 开始加载文件(并执行它)并等待脚本完全加载——类似于您的浏览器等待页面完全加载的方式。 除非您的脚本尝试直接访问文件,而不监听事件,但您可以通过跟踪输出知道这一点。如果您需要进一步的帮助,您应该发布一些源代码。
【解决方案3】:

如果没有看到任何代码,我会怀疑内容类型标头设置不正确,并且 php 脚本作为 html 发送。

您可以使用标题功能设置内容类型:

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

【讨论】:

  • Flash 不关心它正在加载的文件的 MIME 类型。它将内容作为文本获取,然后 XML 类尝试将其解释为 XML。
【解决方案4】:

我建议检查php.ini 中的某些设置是否会导致输出被压缩(zlib.output_compressionob_gzhandler)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2018-11-05
    • 2023-01-31
    • 2018-02-11
    相关资源
    最近更新 更多