PHP保护文件夹

时间:2010-06-25 17:45:31

标签: php

我需要保护文件夹。网站是用PHP完成的。有一个管理区域,包含PDF,DOC ......等文件;我无法使用会话变量保护这些文件。 PHP中有没有办法保护文件夹?

谢谢

2 个答案:

答案 0 :(得分:4)

你不能仅使用PHP来保护它,但是在.htaccess文件的帮助下,这是可能的。

在要保护的目录中创建.htaccess文件,并将其放入其中:

Deny from all

然后,要创建用于访问文件的PHP脚本,您可以执行以下操作:

// Add user authentication code
$name = 'protected_dir/file.pdf';
$fp = fopen($name, 'rb');
header("Content-Type: application/pdf");
header("Content-Length: " . filesize($name));
fpassthru($fp);
exit;

答案 1 :(得分:1)

您可以将文件放在可查看区域(在public_html之前)和受会话保护的下载页面下载文件。

<?php
if(session_is_loggedin()){
    readfile($_GET['file']);

}
?>

显然,需要进行一些额外的更改,但这是您要求的部分。