php下载pdf文件存储在sql数据库中的文件路径

du7egjpx  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(309)

我正在尝试为一个pdf或docx文件创建一个下载链接,其中一个文件路径存储在mysql db中。
下面的代码创建了一个名为 $download 获取存储在数据库中的文件路径,并输入表中所示的下载链接。
下载似乎工作,但当我下载它,但我没有得到pdf文件,它应该是下载(商店/5b8a579c0ee713.35728840.pdf)。
php代码:

while ($row = mysqli_fetch_assoc($result)):
    $download = $row['inf_attachement']; //store/5b8a579c0ee713.35728840.pdf
    echo "<tr>";
        echo "<td><a href=Infrastructureinfor.php?infid=" . $row['inf_id'] . ">" .  $row['inf_id'] . "</td>";
        echo "<td>" . $row['inf_Name'] . "</td>"; 
        echo "<td>" . $row['typ_id'] . "</td>";
        echo "<td>" . $row['island_id'] . "</td>";
        echo "<td>" . $row['inf_lat']. " ". $row['inf_long']. "</td>";
        echo "<td>" . $row['inf_cmplt_Date'] . "</td>";
        echo "<td>" . $row['inf_lifespan'] . "</td>";
        echo '<td><a href="$download" download="report"><i class="fa fa-download"></i></a></td>';
    echo "</tr>";
endwhile;    
$result->close();
bqucvtff

bqucvtff1#

您不是在回显变量,而是在此行中回显一个字符串:

echo '<td><a href="$download" download="report"><i class="fa fa-download"></i></a></td>';

这是因为引用错误。您可以:

echo '<td><a href="'.$download.'" download="report"><i class="fa fa-download"></i></a></td>';

使用单引号时,必须连接要回显的变量,或者可以执行以下操作:

echo "<td><a href=\"$download\" download=\"report\"><i class=\"fa fa-download\"></i></a></td>";

如果使用双引号,则必须对字符串内部的双引号进行转义,并且可以毫无问题地解析变量

相关问题