PHP PDF код не работает

У меня есть раздел, где вы можете скачать связанные с работой PDF-файлы. Код работает на моем локальном хосте, но не на живом сайте. Есть идеи, что случилось?

<div id="resources">
<h1>Pilot Car Resources</h1>
<table style="width:400px" id="resourcesTable">
<tr>
<td>Kansas Handbook</td>
<td><a href="?file=kansasHandbook.pdf">Download PDF File</a></td>
</tr>
<tr>
<td>GA Amber Light Application</td>
<td><a href="?file=georgiaAmberLightApplication.pdf">Download PDF File</a></td>
</tr>
</table>
</div>

И PHP

<?php
if (isset($_GET["file"]) && !empty($_GET["file"])) {
$file    = $_GET["file"];
$path    = "/resources/";
$getFile = $path . $file;
if (file_exists($getFile)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename=' . urlencode(basename($getFile)));
// header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($getFile));
ob_clean();
flush();
readfile($getFile);
exit;
}
}
?>

0

Решение

Проблема 1

Вы начинаете с

http://jollyrogerpcs.com/index.php

Гиперссылки на вашей странице ведут на href = «file /? KansasHandbook.pdf»

Таким образом, вы делаете запрос файла

http://jollyrogerpcs.com/index.php?file=kansasHandbook.pdf

$ _GET [‘file’] игнорируется, а HTML из http://jollyrogerpcs.com/index.php доставляется в браузер Вот почему ваша страница обновляется, когда вы нажимаете ссылку pdf для скачивания.

Измените ваши ссылки на абсолютные ссылки, которые ссылаются на downloadPDF.php И файл get var.

НАПРИМЕР

http://jollyrogerpcs.com/scripts/php/downloadPDF.php?file=/kansasHandbook.pdf

Проблема 2

Трудно сказать, не увидев больше кода, но у вас, похоже, есть другая проблема, связанная с путем в downloadPDF.php. Когда вы выполняете запрос GET на этот URL-адрес, ваш $ getFile будет «/resources/kansasHandbook.pdf». Я считаю, что readfile () попытается найти PDF в http://jollyrogerpcs.com/scripts/php/resources/kansasHandbook.pdf.

Вы можете устранить эту проблему, поиграв с некоторой комбинацией абсолютного пути или магической константы __DIR__.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru