发扥扥计算扥囧带啊反动啊啊发

解决方案 »

  1.   

    删除文件<?php
    $file = 'a.txt';
    unlink($file);
    ?>
      

  2.   


    答主你好,抱歉我没有说清楚。当时比较着急。问题是这样的,你让浏览器下载服务器上的文件,没法下载完删除的问题。
    比如下载a.txt
    $path = "/tmp/a.txt";
    $contents = file_get_contents($path);
     header('Content-Type: application/octet-stream');
    echo $contents;
    这个时候如果unlink在echo下面,则浏览器在下载完文件后就不会执行unlink,如果在echo上面,则浏览器就无法下载。我本来一直以为$contents = file_get_contents以后a.txt的内容就被读到内存里了,删除硬盘上的文件没有什么问题,但现在看来好像这个文件并没有完全的读到内存里。
    我有两个问题:
    第一个:$contents = file_get_contents以后a.txt的内容到底是不是全都在内存里?
    第二个:有什么办法下载后删除磁盘上的文件。
      

  3.   

    是否有root权限?
      

  4.   

    那只能说是你写错了$fn = '下载.txt';
    file_put_contents($fn, 'ABCD');$contents = file_get_contents($fn);
    header('Content-Type: application/octet-stream');
    echo $contents;
    unlink($fn);
    经测试,绝无问题