Показать файлы PDF в браузере пользователей через PHP / Perl

Я хочу показать моим пользователям файлы PDF. Причина, по которой я использую cgi для отображения PDF-файла, заключается в том, что я хочу отслеживать клики для PDF-файла и скрывать реальное местоположение сохраненного PDF-файла.

Я искал в Интернете и только нашел, как показать диалог сохранения пользователям и создавая PDF-файл, а не показывать файлы пользователям.

Я хотел показать пользователям мои файлы в формате PDF, не создавая или не загружая PDF. Вот что я получил из официальной документации php:

<?php
header('Content-type: application/pdf');
readfile('the.pdf');
?>

Также мой код perl для результатов поиска в google:

open(PDF, "the.pdf") or die "could not open PDF [$!]";
binmode PDF;
my $output = do { local $/; <PDF> };
close (PDF);

print "Content-Type: application/pdf\n";
print "Content-Length: " .length($output) . "\n\n";
print $output

если вы делаете это на ruby, скажите, пожалуйста, мне. Но я не уверен, поддерживает ли мой сервер рельсы.

Извините, если мой код слишком далек от метода, чтобы показать pdf, так как я ничего не знаю об обработке pdf и о том, как реализовать эту проблему.

] Предположим, что у пользователей есть плагин Adobe Reader. Итак, как решить мою проблему?

редактировать : Я хочу показать простой файл pdf. Моя основная цель: отслеживать мои файлы pdf и использовать несколько причудливых URL-адресов.

edit : Вот мой основной код php:

<?php
$file='/files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
@readfile($file);
?>

edit : Теперь код работает. Но индикатор выполнения загрузки (в плагине Adobe Reader X) не отображается. Почему? Кто-нибудь может мне помочь? Вот мой основной код:

<?php
$file='./files/the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="the.pdf"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
@readfile($file);
?>

edit : Все мои проблемы решены. Вот' s последний код:

<?php
$file = './path/to/the.pdf';
$filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');

@readfile($file);
?>

Спасибо! :)

117
задан alain.janinm 1 May 2012 в 12:40
поделиться