namespace Home\Controller;
use Think\Controller;
use Org\Net\Http;
class IndexController extends Controller { public function download(){
//获取文件的唯一id(这里可以将展示页面的对应表的id保存在session里,然后使用download方法获取该id) $file_id = session('id'); if( $file_id == 0 ){ $this -> error( '文件不存在' ); } $db_file = M( '表名' );
//匿名组合数据 $condition [ 'file_id' ] = $file_id;
//通过上面条件查找数据表文件路径 $file_result = $db_file -> where( $condition )->field('file_path') -> find( ); if( empty( $file_result ) || ! file_exists( $file_result[ 'file_path' ] ) ){ $this -> error( '文件不存在' ); }
//如果文件路径是由多个东西组合而成(如时间戳,保存文件地址等),需要截取出文件名 $showname = $file_result[ 'show_name' ]; $ext_arr = explode( '.' , $file_path ); $showname .= '.'.$ext_arr[ count( $ext_arr ) -1 ]; $encoded_filename = urlencode( $showname ); $encoded_filename = str_replace( "+" , " " , $encoded_filename ); Http::download( $file_result[ 'file_path' ] , $showname ); } }
TP框架下载功能 - 不想下天桥 - 博客园
【摘要】
namespace Home\Controller;
use Think\Controller;
use Org\Net\Http;
class IndexController extends Controller { public function download(){ //获取文件的...
文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/lxw1844912514/article/details/100026718
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)