1

我已经编写了一些代码来从数据库中选择一行并生成一个链接。链接工作正常,但是当我尝试下载 pdf 时,我得到了这个:

����)�^�z8��AQ�[��rr�=��73KJ��KR]�PD�H�����&gt;3;,;~˾����ɫS����/ؤ���,������=??<8��3��L�����e�\I�aN�i.����A�.�����������|x�F�oN���1>MʙJ�#�Mz�'�N��?K��sx`D�5gژ�r&�N3��M�f����߱9<]R��,))�dj���D@k&O-�7V����M��d�I��HMN=��9��/�ubS���`189\S�����f�p_��T�T�&amp;ӭ���E>�O�)eAœ

显示在页面上。

我的代码是:

<?php
$sql="SELECT * from table1 where invoice_number = '".$_GET["inv"]."' and sequence = '".$_GET["seq"]."' ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
if(mysql_num_rows($rs) > 0)
{
    $result=mysql_fetch_array($rs);

    $file = 'http://www.domain.co.uk/invoices/'.$result["pdf"].'';
    $filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */

    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . $filename . '"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');

    @readfile($file);
}
?>

任何想法如何让它下载文件而不是尝试在浏览器中显示它。请注意,它是一个共享托管服务器,所以我不能对实际服务器本身进行很多更改

4

1 回答 1

2

更改以下内容:

header('Content-Disposition: inline; filename="' . $filename . '"');

header('Content-Disposition: attachment; filename="' . $filename . '"');
于 2013-05-09T01:09:11.340 回答