使用 PHP 创建 XML;通过闪存访问

Using PHP to Create XML; Accessing via Flash

我正在开展一个项目,我需要不断创建和更新 XML 文件。唯一可行的方法是使用 PHP;我不能在 Flash 中使用 FileReference,因为它是另存为;我不能使用 FileStream,因为我使用的是 Flash Player,而不是 AIR;我不想使用 SharedObject,因为我需要一个用户能够从多台计算机访问 XML 中的数据。

基本上,每当用户单击某物时,Flash 都会抓取该对象的颜色。每次单击时,我都需要将这种颜色放入一个 XML 文件中(只有一个文件;它存储所有颜色,并不断更新)。之所以需要不断更新,是因为没有保存按钮;一旦用户退出页面,他们就完成了。我需要保存他们的进度。

有没有办法使用 PHP/Flash 生成此 XML?我了解如何在 PHP 中生成 XML 文件,但我不确定如何使用 Flash(使用 PHP)对其进行更新。

我现在的主要想法是在 AS3 中为 PHP 文件使用加载器,它会抓取 PHP 文件的数据,即 XML 文件。一旦我在 Flash 中加载 PHP 文件,我可以使用 Flash 修改这个 XML 文件吗?如果不是,我如何使用 Flash 将其修改为 PHP?

抱歉,如果这让您感到困惑;我花了几个小时使用 FileReference/FileStream 创建了几种不同的方法,结果发现这不是我要找的。

我认为您不想将 XML 文件加载到 Flash 中并在那里进行修改。如果你这样做,那么你只会在本地修改数据。由于您说没有保存按钮,因此当用户关闭页面时数据将丢失,除非您不断将 XML 文件发送回服务器。这是很多不必要的流量。

更好的解决方案可能是在每次用户单击对象时 post 将颜色值添加到 PHP 脚本。 PHP 然后可以将其添加到数据库或 XML 文件中。

您将通过 URLRequest.

发送值

像这样:

var loader:URLLoader = new URLLoader();  
var request:URLRequest = new URLRequest("myScriptURL.php");  

request.method = URLRequestMethod.POST;  
var variables:URLVariables = new URLVariables();  
variables.userID = "Doug";  
variables.colorValue = "blue";  
request.data = variables;  

// add handlers for completion, errors, etc (see the docs)  
loader.load(request);