我知道您可以使用Java从以下网站执行php文件:
URLConnection conn = new URL("http://localhost/file.php").openConnection();
conn.connect();
但是有可能让Java将php文件作为文本文件读取吗? (可能通过使用BufferedReader)
谢谢。
答案 0 :(得分:2)
如果您的意思是阅读php
来源,那么答案是否定的 - 您无法在典型的网络服务器配置中阅读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
文档的来源,需要将网络服务器配置为不解析&执行该文件,而不是盲目地将其作为纯文本文件提供。
这可以通过几种方式实现;
php
- 没有php引擎,没有代码执行。.phpsource
都可以解决问题。.htaccess
可以更改单个目录的Web服务器配置。您可能希望执行php_flag engine off
或RemoveHandler .php
请注意,只有第一个,可能第二个上面的方法不会打开服务器中的潜在安全漏洞。所以要谨慎使用。