从php下载数据库中的文件

时间:2016-11-15 16:29:21

标签: php json ajax datatable

我尝试从之前上传的数据库中下载文件。 文件名显示在正确的列中,但我想为每个文件创建一个下载链接。 使用以下代码将数据库中的数据显示到数据表中,所有信息都正确显示;

while ( $aRow = mysql_fetch_array( $rResult ) )
{        
    $row = array();
    for ( $i=0 ; $i<count($aColumns) ; $i++ )
    {
        if ( $aColumns[$i] == "version" )
        {
            /* Special output formatting for 'version' column */
            $row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
        }
        else if ( $aColumns[$i] != ' ' )
        {
            /* General output */
            $row[] = $aRow[ $aColumns[$i] ];                
        }
    }

    $file == $row[7];

    if (file_exists($file)) {

        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        readfile($file);
        exit;
    }   

    $output['aaData'][] = $row;
}

echo json_encode( $output );

我已经尝试过关注本网站和其他网站上的多篇文章/教程,并设法解决了上述代码,但并不像我希望的那样工作。 任何人都能看到我做错了什么以及我需要更改什么才能使列中的文件名可以下载?

0 个答案:

没有答案