php fopen没有打开文件,它的读取权限是不是给世界/公众?

时间:2009-03-24 18:57:47

标签: php file file-permissions

如果文件权限是440,那么php fopen无法打开文件进行读取。我不想给文件444权限,因此无法通过URL直接访问它。

2 个答案:

答案 0 :(得分:2)

假设您正在使用Apache和PHP,解决此问题的最简单方法是使用Apache限制对文件的访问,但允许全局读取访问。这样做的方法是将你想要的所有文件保存在自己的目录中,并在.htaccess文件中输入:

Order Allow , Deny
Deny from all

现在您可以拥有全局读取权限,但如果您尝试直接从Web访问该文件,您将收到“权限被拒绝”错误。

答案 1 :(得分:1)

您可以按 tj111 建议,使用.htaccess阻止它。

但更好的想法是把它放在www根之外。

例如,如果您的PHP文件位于 / home / 用户 / public_html / 中,请将您的文件置于有限访问权限范围内,例如:在 / home / 用户 /包含,为他们提供644(rw-r--r--)。您可以将目录权限限制为711(rwx--x--x),因此除了您之外没有人可以看到有哪些文件。但是,这并不妨碍您使用PHP读取或包含这些文件。