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