0

作業中のサイトでファイルのアップロードを処理するためにswf-uploadを使用しています。

問題は、swf-upload.phpと呼ばれるキャッチ関数です。直接アクセスしたURLにアクセスすると、正常に機能し、正しく読み取られてセッションが開始され、ユーザー権限が取得されますが、Webページがajaxコールバックで呼び出した場合、セッションは空であると主張します。

私はエラーハンドラーと出力ロギングの組み合わせを使用して、それが何をしているのかを調べています。直接アクセスとajaxアクセスのコードパスにまったく違いはありません。

どうしたの?

4

2 に答える 2

3

これはswfuploadの既知の問題です。セッションIDをswfuploadコンストラクターに渡してから、次のように渡したセッションIDを使用して、リモートファイルでこのセッションを明示的に再作成して再起動する必要があります。

 // in your javascript file 
 swfu = new SWFUpload({
  upload_url: "http://<?=$_SERVER['HTTP_HOST']?>/scripts/swfupload2/upload.php",
  post_params: {"PHPSESSID": "<?=session_id()?>"}
 }

 // in your PHP file
 if (isset($_POST["PHPSESSID"])) {
  session_id($_POST["PHPSESSID"]);
 }
于 2009-12-14T15:52:43.780 に答える
1

たぶん、ajax URLのPHPSESSIDを介してセッションIDを明示的に渡すことができますか?session_id()関数http://pl2.php.net/manual/en/function.session-id.phpで読むことができます

于 2009-12-14T15:44:41.880 に答える