У меня небольшая проблема. На моем сервере у меня есть несколько файлов PDF, сохраненных за пределами общей папки. Я хочу отобразить эти файлы на своем веб-сайте.
Код для отображения pdf, который я использую сейчас:
$pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file']; header('Content-type: application/pdf'); header('Content-Disposition: inline; filename="'.$pdf.'"'); readfile($pdf);
Теперь я показываю их через iFrame, но в IE8 я получаю сообщение, чтобы сохранить файл на моем компьютере. На хром и IE9 проблем нет.
Есть ли лучший способ отобразить pdf-файлы?
просмотрите этот вопрос, у пользователя был тот же вопрос, что и у вас: покажите файлы PDF в браузере пользователей через PHP / Perl
У меня также есть уведомление о безопасности для вашего:
ЭТО: $pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file'];
Может быть крайне опасно, представьте, если кто-то изменит ваш параметр url следующим образом: yoursite.php? File = .. / .. / index.php
Если вы не очень осторожны здесь, люди могут загружать другие файлы с вашего сервера … так что будьте осторожны и подтвердите свой $ _GET ['файл'] перед его использованием.
С уважением
Я думаю, если вы оставите вас: content-disposition: inline и измените его на content-disposition: filename = "'. $ Pdf.'" Браузер определит, что делать с PDF. Если есть плагин для pdf, он будет использовать его.
$pdf = '/var/www/vhosts/domain.com/users/'.$_GET['file']; header('Content-Disposition: inline; filename="'.$pdf.'"');// download header readfile($pdf) //read our file and shows on website