2010-10-06 80 views
0

在php中,我需要读取一个没有读权限的文件(文件权限为-rw-r-----)。 更改文件的权限是不可能的。该文件位于本地服务器上。读取PHP中没有读取权限的文件

我在PHP中尝试过的各种方法不起作用(file_get_contents,fopen和curl),也许这是如果最后一次读取位未设置的话。是因为Web服务器被阻止访问?

如果是这样的话,为什么Firefox可以像使用shell一样直接读取文件(使用file://)?关于编写一个可以读取文件的外部python脚本...我在这里错过了什么?

回答

3

这取决于用户拥有该文件以及用户运行PHP/Apache的用户。您可以通过从PHP运行whoami来检查它。如果您无法更改文件中的权限/所有者的任何部分,也不能更改Apache用户,那么,您抱歉抱歉。

+1

是的。拒绝对未授权用户的访问权限是文件权限。如果它们是可以避开的,它们就会被破坏。 – 2010-10-06 22:14:29

+0

我看到,当我使用file://协议时,我是用户并且该文件是可读的。当我通过服务器运行php文件时,用户是Apache,并且该文件不可读。 – ack 2010-10-06 23:17:18