如何在Python中包含PHP脚本?

8 投票
5 回答
10136 浏览
提问于 2025-04-15 12:34

我有一个PHP脚本(news-generator.php),当我把它包含进来时,它会抓取一堆新闻内容并打印出来。现在,我的网站是用Python做的(CGI)。之前用PHP的时候,我在“新闻”页面上用过类似这样的代码:

<?php
print("<h1>News and Updates</h1>");
include("news-generator.php");
print("</body>");
?>

(为了简单起见,我把例子简化了一下。)

有没有办法让我用Python来执行这个脚本(news-generator.php),并返回输出,而且能在不同的平台上都能用?这样的话,我就可以这样做:

page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php") //should return a string
print page_html + news_script_output

5 个回答

1

这可能有点偏题,不过如果你想以一种可以访问PHP脚本创建的变量(比如新闻项目的数组)的方法来做,最好的办法是执行这个PHP脚本,然后让它返回一个用JSON格式编码的数组作为字符串。接着在Python那边把这个字符串解码成可以用的格式,然后在Python中生成HTML和进行循环处理。

7

PHP是一种程序。你可以用subprocess来运行任何程序。

难点在于要模拟PHP所期待的整个CGI环境。

11
import subprocess

def php(script_path):
    p = subprocess.Popen(['php', script_path], stdout=subprocess.PIPE)
    result = p.communicate()[0]
    return result

# YOUR CODE BELOW:
page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php") 
print page_html + news_script_output

这段代码是用来做某些操作的,但具体的功能需要根据上下文来理解。一般来说,代码块中的内容会包含一些指令或者逻辑,用于实现特定的任务。

如果你看到这样的代码块,通常意味着这里有一些编程的细节需要注意。对于初学者来说,理解这些代码的作用和如何使用它们是非常重要的。

总之,代码块是编程中不可或缺的一部分,掌握它们能帮助你更好地理解整个程序的运行方式。

撰写回答