2012-10-30 44 views
0

我知道,你可以使用Java從一個網站執行PHP文件象下面這樣:使用Java從網站讀取php文件?

URLConnection conn = new URL("http://localhost/file.php").openConnection(); 
conn.connect(); 

然而,纔有可能使Java讀取PHP文件爲文本文件,以及如何? (可能通過使用BufferedReader)

謝謝。

+0

編輯:有可能使用Java來閱讀PHP源代碼?與HTML類似,您可以使用BufferedReader來解析其源代碼。 –

回答

2

如果您的意思是閱讀php源代碼,那麼答案是否定的 - 在典型的web服務器配置中,您無法閱讀php源代碼。在大多數情況下,允許它是非常不安全的 - 密碼和其他常量通常存儲在php源代碼中。

但是,如果您只是讀取執行php文檔的結果(如瀏覽器所做的那樣),則可以使用類似於;

URL u = new URL("http://www.example.com/my/php/doc.php"); 
URLConnection c = u.openConnection(); 
InputStream r = c.getInputStream(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(r)); 
for(String line; (line = reader.readLine()) != null;) System.out.println(line); 

要讀取通過http遠程php文檔的來源,網絡服務器需要被配置爲不解析 &執行該文件,而只是服務於它盲目地爲純文本文件。

這可以通過幾種方式實現;

  1. 卸載php - 沒有PHP引擎,沒有執行代碼。
  2. 更改文件擴展名--apache實際上只是通過其文件擴展名來識別文件,所以將其更改爲.phpsource在很多情況下都會起作用。
  3. 更改Apache配置 - 無論是全局還是通過.htaccess,您都可以更改單個目錄的網絡服務器配置。你會想要做這樣的事情php_flag engine offRemoveHandler .php

請注意,只有第一和也許第二,方法上面在你的服務器打開潛在的安全漏洞。所以謹慎使用。

+0

編輯:是否有可能使用Java來讀取PHP源代碼?與HTML類似,您可以使用BufferedReader來解析其源代碼。 –

+0

是的,這是可能的,但你將不得不重新配置網絡服務器。我會編輯我的答案。 – lynks