POST变量从flash到php file_put_contents文件名

时间:2013-05-04 18:52:02

标签: php string actionscript-3 flash variables

我正在录制网络摄像头数据并发送到.php以便稍后在闪存中存储和查看。该元素工作正常,但每次根据flash中设置的变量执行此操作时,我需要为该文件提供唯一的ID。

这是我用来将flv作为byteArray发布的代码:

     var url_ref:URLRequest = new URLRequest("save_vid.php");
     url_ref.contentType = 'application/octet-stream';
     url_ref.data = _baFlvEncoder.byteArray;//url_data;
     url_ref.method = URLRequestMethod.POST;
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
     try {
             urlLoader.load( url_ref );
         } catch (e:Error) {
             trace(e);
         }

我需要附加到PHP文件中设置的文件名的变量:

    var currentVideo:String;
    var currentName:String;

到目前为止我的PHP文件:

    <?php
    echo 'Data:<pre>';
    print_r($_POST);
    echo '</pre>';
    file_put_contents("test.flv",$GLOBALS[ 'HTTP_RAW_POST_DATA' ]);

    $sCurrentVideo = $_POST['currentVIdeo'];

    $sCurrentName = $_POST['currentName'];
    ?>++

这里有人能引导我朝着正确的方向前进吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要使用“URLVariables”类。

Here is a helpful tutorial explaining it's usage.

创建它的实例,设置值以匹配您想要设置的两个变量,同时添加原始视频数据。

// Define the variables to post    
var urlVars:URLVariables = new URLVariables(); 
urlVars.currentVideo = currentVideo;
urlVars.currentName = currentName;
urlVars.videoData = _baFlvEncoder.byteArray;

然后在urlReq中,将数据设置为urlVars实例:

url_ref.data = urlVars;

然后,您将能够在PHP中的$ _POST变量中访问这些值。

file_put_contents("test.flv",$_POST[ 'videoData' ]);