プロが教えるわが家の防犯対策術!

FlashよりLoadVarsクラスを使用し、CGIへデータを送信しようとしていますが・・・。
なかなか成功しません;;

Flashのアクションスクリプト、およびCGI(Perlで)スクリプトをお教えいただけないでしょうか?


-詳細-
ボタンに
LoadVars.send();
LoadVars.sendAndLoad();
などを使用し、Flash→CGIへ送信し、結果を表示したり、Flash→CGIへ送信し、CGIで送信した変数などを処理した後、Flashより変数を受信し、表示する。

-例-
1.Flashよりテキストフィールドに文字を入力し、CGIへ送信。
2.CGIにて受信後、受信した文字をopenで保存(.txtファイル作成)
3.先ほどCGIより保存したtxtファイルをFlashから読み込む。

-環境-
楽天さんのiswebライトでPerl言語を使い、Content-typeをHTMLでCGIを作成しております。

ご教授いただければ幸いです。
どうか、よろしくお願いいたしますm_ _m

A 回答 (1件)

flashはよくわかりせんが、


2.CGIにて受信後、受信した文字をopenで保存(.txtファイル作成)
については、次のようにすればできます。
---
#!/usr/bin/perl -T
use warnings;
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

my $file_name = '/tmp/x-www-form-urlencoded.txt';
my $q = CGI->new();
my ($text_data) = $q->param('text_data');
open my $fh, '>', $file_name or croak "$file_name: $!";
binmode $fh;
print $fh $text_data;
close $fh or croak "$file_name: $!";

# 確認用出力
print $q->header( -type => 'text/plain', -charset => 'UTF-8' );
print "filename $file_name:\n";
print "text_data value:\n";
print "---\n";
print $text_data, "\n";
---
my $file_name = '/tmp/x-www-form-urlencoded.txt';

$q->param('text_data')
は環境に合わせることになると思います。

flashで
var lv: LoadVars = new LoadVars();
lv.xxxx = テキストデータ
とすると
$q->param('xxxx')
とかになるんでしょうかね

htmlでこのCGIプログラムの動作を確認するときは、次のようにします。
前のCGIファイルの名前をx_www_form_urlencoded.cgiとして、htmlファイ
ルとCGIファイルが同じ階層のディレクトリにあるとしています。
---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>x-www-form-urlencoded test</title>
</head>
<body>
<h1>input test</h1>
<form action="x_www_form_urlencoded.cgi" method="POST">
<p>
data: <input type="TEXT"
name="text_data"
enctype ="application/x-www-form-urlencoded"><br/>
</p>
<HR>
<input type="submit" value="Submit Registration Info">
</form>
</body>
</html>

この回答への補足

少しでもご教授いただきまして、ありがとうございました。

参考にさせていただきます。

補足日時:2009/07/03 00:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!