下载PDF文件-存储在sql数据库中的文件路径

时间:2018-09-04 10:00:01

标签: php mysql bootstrap-4

我正在尝试为PDF或docx文件创建下载链接,该文件的文件路径存储在MySQL DB中。

下面的代码创建了一个名为$download的变量,以捕获存储在数据库中的文件路径,并将其放入表中所示的下载链接中。

下载似乎可以正常工作,但是当我下载它但没有得到应该下载的pdf文件时(store / 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(); 

1 个答案:

答案 0 :(得分:0)

您不是在此行中回显变量,而是在该行中输入字符串:

 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>";

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