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

标签 php mysql bootstrap-4

我正在尝试为 PDF 或 docx 文件创建下载链接,其中文件路径存储在 MySQL 数据库中。

我下面的代码创建了一个名为 $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(); 

最佳答案

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

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

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

关于php - 下载 PDF 文件 - 存储在 sql 数据库中的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52163685/

相关文章:

javascript - 如何将 Carousel.Item 包装在其他组件中

python - 将最后选择的项目保留在下拉列表中

php - 检查另一个域中是否存在 cookie

php - 插入失败:Column count doesn't match value count at row 1

php - PDO 连接到 MySQL 数据库被拒绝

javascript - 为什么当我添加以下 Bootstrap 时,我的页面变成白色?

php - 在覆盖 div 或工具提示中显示 woocommerce 消息,无需刷新页面

php - mysql 插入批处理与插入循环 (codeigniter)

php - 如何在 View 中获取匹配的路线名称 - Zend Expressive

sql - 如何在时间排序表中查找间隙,其中给定列在指定间隔内没有特定值