我正在尝试为 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/