是否可以调用在具有不同域的另一个网站的文件中找到的 PHP 函数?
例如,我知道要从同一域中的另一个文件调用 PHP 函数(例如在 aaa.php 中找到的函数 aaa()),我只需简单地执行此操作(带有一些简化的假设):
include_once('aaa.php');
aaa();
我尝试过做类似的事情,例如:
include_once('http://othersite/aaa.php');
aaa();
我无法让它工作(页面似乎加载良好,没有错误消息,但该函数不执行)。我尝试过 require(),它给了我一个空白屏幕。我也没有成功使用 fopen。
如果可以的话,我该怎么做?
最佳答案
include
和 require
(及其 _once
变体)采用本地文件系统路径作为参数。域名与此无关。
是的,您也可以在那里放置一个 URL(如果您启用了 fopen 包装器),但 PHP 只会下载该文件并尝试执行它。换句话说,要实现此功能,如果您在浏览器中输入 http://othersite/aaa.php
,它应该显示 PHP 源代码,而不是处理它的结果。
当将 URL 传递给 include
\require
时,PHP 除了浏览器之外无法执行任何操作。它受 othersite
的网络服务器的支配。如果它不返回 PHP 代码,PHP 就无法访问它。
关于php - 从不同域调用 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3928080/