Загрузка файла PDF - путь к файлу, сохраненный в базе данных sql - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь создать ссылку для скачивания для файлов 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(); 

1 Ответ

0 голосов
/ 04 сентября 2018

вы выводите не переменную, а строку в этой строке:

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

если вы используете двойные кавычки, вам нужно экранировать те, которые являются внутренними для строки, и переменная будет проанализирована без каких-либо проблем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...