1

プロセッサとして .php ファイルを使用するフラッシュ アップロード スクリプトがあります。PHP スクリプトによって作成されたギャラリー ID を使用して Cookie を設定し、それを確認ページに渡すには、プロセッサ ファイルが必要です。Flash が php ファイルを実行する場合を除き、Cookie は設定されません。セッション変数を設定しますが、これで十分でしたが、現在はサイト(確認ページを含む)にlighttpdを使用し、実際のアップローダープロセッサスクリプトにapacheを使用しています(lighttpsは大きなファイルのアップロードが苦手なため)。 t は、2 つのサーバー ソフトウェア間で転送されます。

php プロセッサ (apache で実行) から lighttpd を実行している確認ページに変数を転送するにはどうすればよいですか?

4

4 に答える 4

1

ブラウザーではなくフラッシュスクリプトによって呼び出され、Cookie はブラウザーによって保存されるため、Cookie は設定されないと思います。

私が考えることができる唯一の方法は、mysql データベース、または単にテキスト ファイルです。

于 2009-07-17T22:18:38.463 に答える
0

ここでは、phpスクリプトを使用してすべてのアップロード画像データをフレックスに保存するための最良のソリューションを見つけます

    $array                          =   array(); 
    $array["large_filename"]    =   $image_file_name; 
    $array["large_path"]        =   DIR_WS_IMAGES_TEMPIMAGES . $image_file_name;
    $setcookie              =   serialize($array); setcookie( "ImageCookie", 
    $setcookie, time()+(60*60*24*15) );
于 2013-12-09T07:24:01.823 に答える
0

同じことを行っているかどうかはわかりませんが、フラッシュを介して実行されるphpスクリプトからCookieを設定できないという同様の問題がありました。しかし、引数が不足していたため、後で失敗したことに気付きました。

flash.swf:
sendToURL('script.php?val=dataFromFlash');

script.php:
//setcookie('flashData', $_GET['val']); //this did not work
setcookie('flashData', $_GET['val'], '0', '/'); //this worked

PHP のマニュアルでは、name 引数のみが必要であると書かれていますが、これを機能させるには、expire および date 引数を指定する必要がありました。おそらくこれは、ニコの答えが示すように、ブラウザ経由で送信されていないためでしょうか? とにかく、これが役立つことを願っています。

于 2010-02-02T08:29:53.537 に答える
0

おそらくニコよりも効率的ではありませんが、あなたにより適している可能性がある2番目のソリューションを考えてみました。Flash に送信される Cookie がブラウザーにも送信されない場合は、Flash の ExternalInterface クラスを使用して、Cookie の内容を JavaScript 関数に渡し、ブラウザーに Cookie を設定することができます。または、Cookie の内容をフェッチするために AJAX 呼び出しを行う JavaScript 関数を呼び出すこともできます。

于 2009-07-19T20:13:35.963 に答える