当前位置:  开发笔记 > 编程语言 > 正文

发送给用户后删除文件

如何解决《发送给用户后删除文件》经验,为你挑选了1个好方法。

我尝试使用此功能向用户发送文件

Yii::$app->response->sendFile($tmp_filename, 'test.RData');

现在我希望在发送后删除该文件.我知道sendyii/web/Response被调用的方法中有一个事件处理程序EVENT_AFTER_SEND

我尝试使用以下代码访问此处理程序:

Event::on(\yii\web\Response::className(), \yii\web\Response::EVENT_AFTER_SEND, function ($event) {
          unlink($event->response->filename);  
});

但我的问题是

a)我不确定这是不是正确的方法

b)如何访问事件内的文件名

任何帮助表示赞赏!



1> Clyff..:

本周我遇到了同样的问题.该文件说,我们可以使用$data参数来添加任何我们想要的变量在此回调.这是一个例子:

Yii::$app->response->sendFile('/path/of/my/temp/file')->on(\yii\web\Response::EVENT_AFTER_SEND, function($event) {
    unlink($event->data);
}, '/path/of/my/temp/file');

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有