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 回答