0

これに苦労しています: このコードを使用してサーバーからファイル (jpg または png) を削除したい - a.jpg の代わりに currentTarget にする必要があります。出来ますか?

function nDown_del(e): void
{

    e.currentTarget.filters = [Glow_del];
    //e.currentTarget.parent.removeChild(e.currentTarget);..............works
    mcPopup_del.cont_del.removeChild(e.currentTarget); ///...............works

    var proxy:URLLoader = new URLLoader();
    var vars:URLVariables=new URLVariables();
    vars.filethis ="a.jpg"; //e.currentTarget;
    req.data=vars;
    req.method= URLRequestMethod.POST;
    proxy.load(req); 
    var req:URLRequest=new URLRequest("http:....path to /php_file.php")
}

php_file---->

$src = $_POST [ 'filethis' ];

unlink($src);
4

1 に答える 1

2

e.currentTargetはファイル名ではなく表示オブジェクトであるため、それをサーバー側に渡してphpがファイルを削除することを期待することはできません。

がスプライトの場合e.currentTarget、Sprite クラスを拡張してファイル名を格納する必要がある場合があります。その後、 からアクセスしcurrentTargetてサーバーに送信できます。次のスニペットをご覧ください。

class MySprite extends Sprite
{
    public string filename:String = "a.jpg";
}

あなたのハンドラで:

function nDown_del(e): void
{
    var mySprite:MySprite = e.currentTarget as MySprite;

    if(!mySprite)
       return;

    mySprite.filters = [Glow_del];
    mcPopup_del.cont_del.removeChild(mySprite); ///...............works


    var proxy:URLLoader = new URLLoader();
    var vars:URLVariables=new URLVariables();

    vars.filethis = mySprite.filename;

    req.data=vars;
    req.method= URLRequestMethod.POST;
    var req:URLRequest=new URLRequest("http:....path to /php_file.php")        
    proxy.load(req); 

}
于 2013-03-15T13:40:41.420 に答える