-1

我知道您可以使用 Java 从以下网站执行 php 文件:

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

但是,是否有可能让 Java 将 php 文件作为文本文件读取,如何读取?(可能通过使用 BufferedReader)

谢谢你。

4

1 回答 1

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文档的源代码,需要将网络服务器配置为解析和执行文件,而只是盲目地将其作为纯文本文件提供。

这可以通过几种方式实现;

  1. 卸载php- 没有 php 引擎,没有代码执行。
  2. 更改文件扩展名 - apache 实际上只是通过文件扩展名来识别文件,因此.phpsource在许多情况下将其更改为可以解决问题。
  3. 更改 apache 配置 - 全局或通过.htaccess您可以更改单个目录的网络服务器配置。你会想做类似php_flag engine offRemoveHandler .php

请注意,只有上述第一种(可能还有第二种)方法不会在您的服务器中打开潜在的安全漏洞。所以谨慎使用。

于 2012-10-30T11:10:22.983 回答