强制下载后取消链接不工作Codeigniter

时间:2015-07-01 09:30:36

标签: php codeigniter

我强行下载后无法删除我的文件。下面是代码

public function download($id)
{
 $this->load->helper('download');
    $filepath = "url/" . $id;
    force_download("file-name", $filepath);
    ignore_user_abort(true);
    unlink($filepath);

}     

请在这方面给我更新。

4 个答案:

答案 0 :(得分:2)

我遇到过同样的情况。所以我只想分享以下信息,如果这有助于有需要的人。

实际上 force_download("文件名",$ filepath);
由于force_download方法有一个标题和一个退出调用,因此在执行此代码后您没有写任何内容。

因此,如果您要删除正在下载的文件,可以在调用 force_download 方法之前将其删除。

有些人会怀疑我们如何在下载之前删除文件。实际上,force_download方法中的第二个参数实际上是正在下载的文件的内容。一旦你有了,你不需要该文件。

 b<-matrix(c(1,"ich esse gerne bananen dazu auch einen apfel", 2, "ich mag brezen mit butter"), nrow=2, ncol=2, byrow = TRUE )

答案 1 :(得分:0)

使用base_url()路径下载文件,并使用FCPATH取消链接文件(文件的绝对路径)

public function download($id)
    {
     $this->load->helper('download');
        $filepath = "url/" . $id;  // eg : base_url()."/".$id;
        force_download("file-name", $filepath);
    //    ignore_user_abort(true);
       $filepath2 = "url/" . $id;  // eg : FCPATH."/".$id;
        unlink();

    } 

答案 2 :(得分:0)

使用取消关联(&#39;文件名&#39;);,您不会仅使用文件路径使用文件名。

答案 3 :(得分:0)

parse_str(file_get_contents("php://input"),$data);
$data=$data['test'];
$data=json_decode($data);