PHP文件下载功能 在ThinkPHP中实现步骤

 下载功能

1.如果是其他文件,直接在a标签的href属性中填写路径,可以下载。

2.如果是一个图片文件,那么直接在a标签的href属性中,填写路径是不能进行下载。

那么需要进行一下操作步骤:

         PHP文件下载固定4句话:
    
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="'. basename($path) .'"');
header("Content-Length: ". filesize($path));
readfile($path);
         所需的参数是:文件路径 

思路:创建Doc/download方法,在方法中获取要下载的文件路径,调用上面4句话进行下载 

1) 修改文件下载地址,将文件的doc_id传递到download方法中 

PHP文件下载功能 在ThinkPHP中实现步骤_第1张图片

2) 创建Doc/download方法,接收doc_id,根据id查询对应的路径,再调用4句下载函数,进行下载操作。

function download(){
    //接收公文id
    $id = I('get.id');
    //根据公文id查询对应的附件路径
    $data = D('Doc')->field('doc_file')->find($id);
    $path = $data['doc_file'];

    header("Content-type: application/octet-stream");
    header('Content-Disposition: attachment; filename="'. basename($path) .'"');
    header("Content-Length: ". filesize($path));
    readfile($path);
}


你可能感兴趣的:(PHP,TP3.2框架)