我正在研究一些旧的Flash as2应用程序,它可以正常工作直到发生。 最有可能是它的Flash 13升级,但我无法弄清楚原因。 服务器上的PHP版本没有改变。
我在Flash中有以下函数,它将XML与另一个函数打包在一起并发送到printcard.php:
var xmlDoc:Object=toXML();
xmlDoc.send(_global.phpPath + "printcard.php","_blank");
printcard.php应该使用$ _POST XML并使用它做一些工作......
$data = GET_POST_XML();
$xml = new XML($data);
$arrCardPage = $xml->getBranches("card", "CardPage");
$cardPage = $arrCardPage[0];
真正古老的GET_POST_XML()函数直到最近一直运行良好:
global $HTTP_POST_VARS, $HTTP_RAW_POST_DATA;
if( $HTTP_RAW_POST_DATA == null || !isset($HTTP_RAW_POST_DATA) ){
$xmldoc = '';
reset($HTTP_POST_VARS);
while(list($k, $v) = each($HTTP_POST_VARS)) {
$xmldoc.=$k.'='.$v;
};
$xmldoc = stripslashes($xmldoc);
$xmldoc = str_replace('<?php xml_version', '<?php xml version', $xmldoc);
return $xmldoc;
} else {
return $HTTP_RAW_POST_DATA;
};
问题是$ data是空的 - 我没有XML。
在phpinfo上我有:
_POST["<card_id"]:
\"0\" shared=\"0\" doubleside=\"1\" BgColorPicker=\"0\" bwColors=\"1\" showBg=\"1\" name=\"\"><CardPage h=\"17.99\" w=\"46.99\"><layerFront><CardLayer bg=\"16777215\" bgImageURL=\"\"><elements><OvalElement bgAlpha=\"100\" lineAlpha=\"100\" bgColor=\"16777215\" lineColor=\"0\" lineSize=\"0.35\" useFill=\"true\" useLine=\"true\" rotation=\"0\" h=\"7.76\" w=\"22.93\" y=\"4.58\" x=\"22.57\" /></elements></CardLayer></layerFront><layerBack><CardLayer bg=\"16777215\" bgImageURL=\"\"><elements /></CardLayer></layerBack></CardPage></card>
我错过了什么?
答案 0 :(得分:1)
使用
groupIP
而不是
$data = file_get_contents('php://input');
答案 1 :(得分:0)
好的,这里有更新以防有人堆叠有同样的问题:
从Flash版本13弃用发送命令。 它不再发送RAW POST DATA。
但是,SendAndLoad仍能正常工作。
无法在Google或官方Adobe发行说明中找到有关此内容的任何内容。