2010-10-06 75 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