0

我的 Flash 电影读取数据并将其发送到免费服务器中的 PHP 文件。如果它们以这种方式编写,Flash 从文本文件(由 PHP 文件管理)读取变量值似乎没问题:&variable = value&,我对此没有问题。但是我的 PHP 文件,预处理(通过一些数学函数)由 Flash 发送的数据,然后更新文本文件中的值,这是我的意图,但我无法完成。假设我想更新一个计数器(它计算数据更新的次数):在我拥有的文本文件中&counter=0&(初始值),如果我放入 PHP 文件:

<?php
$fp = fopen("jose_stats.txt", "r");// I guess with it, I've read all the variables and values
// one of them is the variable &counter.
fclose($fp);

$toSave = "&counter=&counter+1&\n";

$fp = fopen("jose_stats.txt", "w");
if(fwrite($fp, "$toSave")) { 
  echo "&verify=success&"; //prints to screen &verify=success which flash will read
                          //and store as myVars.verify
   } else { // simple if statement
      echo "&verify=fail&"; //prints to screen &verify=fail which flash will read and
                           //store as myVars.verify
     }
   fclose($fp);

?>

但是然后,我检查了我的文本文件,它有&counter=&counter+1&一行:(而不是预期的&counter =1&。请给我建议。谢谢。

4

1 回答 1

1

为什么不使用 JSON?

只需以 JSON 格式存储数据:

$count = 1;

$toWrite = array( 'count' => $count );//put other data into this array if you want

//encode it
$toWrite = json_encode( $toWrite );

//and now write the data

要在 Flash 中对其进行解码,请导入 JSON 类:

as2 中使用 JSON.as 类的 JSON 示例:

try {
  var o:Object = JSON.parse(jsonStr);
  var s:String = JSON.stringify(obj);
} catch(ex) {
  trace(ex.name + ":" + ex.message + ":" + ex.at + ":" + ex.text);
}

所以只需导入,然后运行JSON.parse( yourPhpResponse );

此外,您&counter=&在文本文件中看到的原因是因为您正在这样存储它:$toSave = "&counter=&counter+1&\n";.

于 2012-10-13T08:05:55.393 回答