Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   PHP (https://nowa.cc/forumdisplay.php?f=305)
-   -   Прячем PDF с помощью PHP (https://nowa.cc/showthread.php?t=53051)

ana 21.09.2006 12:39

Прячем PDF с помощью PHP
 
Сегодня решил маленькую задачу для своего 'большого' предприятия :xe

Нужно спрятать ссылки на PDF для тех, кому они не нужны.
По идее если файл на WEB сервере, то зная папку в которой
он лежит, можно запомнить это место и заходить туда уже без
регистрации допустим ...

Появилась мысль :7: , читать из потаённого места PDF, а выводить
его с помощью PHP.

Скрипт оказался на удивление прост, может кому понадобиться.

Все замечания и предложения приму обязательно :гуляем


Код:

<?php

session_start(); // 1
// is allowed?
if(!$_SESSION['allowed'])                // 2
    {
        header("Location: index.php");    // 3
        exit;                            // 4
    }

$dir = "PATH/TO/PDF_DIRECTORY/";  // 5

$pdf = "FILE_NAME.pdf"; // 6


if(file_exists($dir.$pdf)) // 7
    {
   
    }
    else
    {
        header("Location: index.php"); // 8
        exit;                          // 9
    }

$len  = filesize($dir.$pdf);  // 10
$file = fopen($dir.$pdf, 'r'); // 11


header("Content-type: application/pdf"); // 12
header("Content-Length: $len");          // 13
header("Content-Disposition: inline; filename=$pdf");  // 14
fpassthru($file); // 15
             
fclose($file); // 16 
   
   
?>


Для удобства я пронумеровал строчки,
у кого какие воросы, можно сразу говорить где!

Enjoy!

podlom 22.11.2006 18:17

Re: Прячем PDF с помощью PHP
 
прикольная штука.
только один вопрос.
может вметсто:
Цитата:

Сообщение от ana (Сообщение 483296)
Код:

<?php
//...
if(file_exists($dir.$pdf)) // 7
    {
   
    }
    else
    {
        header("Location: index.php"); // 8
        exit;                          // 9
    }
//...
?>


лучше написать:
Код:

<?php
//...
if(!file_exists($dir.$pdf)) // 7
    {
        header("Location: index.php"); // 8
        exit;                          // 9
    }
//...
?>

зачем пустой блок?


Текущее время: 00:33. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02262 секунды с 9 запросами