从远程文件上的包含返回值

梅尔

我正在尝试在远程服务器上运行脚本,并将该脚本的结果返回给调用脚本。变量将发送到远程脚本,并基于此变量,远程脚本用于检索远程服务器上的文件名列表,并将这些文件名作为数组返回。但是,在包含的文件中使用return不会返回实际值,只会中止脚本。除此之外,远程脚本运行没有问题,我可以使用var_dump来获取文件名列表,但这对本地脚本没有太大帮助。两台服务器均归我们所有(我们是我的公司)。

我已经尝试过类似这样的简单操作,只是看我是否可以获得返回值,但它没有用:

本地脚本:

$test = include "http://remote_host_address/remote_script.php";  
var_dump($test);  

远程脚本:

$ret = "Hello World";
return $ret;

这输出int(1)经过测试,远程脚本的代码本身可以正常工作,并且作为get变量发送的变量也没有问题。唯一的问题是我没有从remote_script获得返回值。

另外,allow_url_include本地服务器上的是。但是,它对于远程服务器是关闭的。但这不会有所不同:http : //php.net/allow-url-include

我已经查看了有关此主题的其他一些相关问题,但似乎没有任何东西可以很好地描述我的问题。任何帮助将不胜感激,因为我已经花了几个小时仔细研究了这个问题,但是没有取得任何进展。

山姆·古迪

尝试使用file_get_contents()代替include。
这会将文件写入变量(使脚本可以远程执行),但不会在本地运行响应。

另外,如果您可以使用cURL,它会更安全,也可能更快。
一个用于远程file_get_contents()的小片段;

function curl_get_contents($url){
    $c = curl_init($url);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    $res = curl_exec($c);
    if (curl_getinfo($c, CURLINFO_HTTP_CODE) > 400) $res = false;
    curl_close($c);
    return $res;
    }

作为解释

  • RETURNTRANSFER将卷曲请求的响应放入一个变量中(而不是打印到屏幕上)。
  • CURLOPT_FOLLOWLOCATION尚未设置,因此如果页面已移动,curl将不会跟随它。您可以设置它,也可以根据第二个参数来设置它。
  • 如果大于400(错误代码,大概是404或500),则HTTP_CODE将返回false,而不是可能设置的精美的自定义404页面。
    在我的测试中,get_headers()比curlinfo_http_code更可靠,但需要第二次调用所包含的页面,这可能会使事情出错。
    例如。if (!strpos(200, get_headers($url)[0])) return false;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

远程Powershell返回值

来自分类Dev

远程Powershell返回值

来自分类Dev

从远程Python脚本返回值

来自分类Dev

如何根据ping返回值进行远程关闭?

来自分类Dev

从Cordova插件上的函数返回值

来自分类Dev

从文本文件返回值

来自分类Dev

在返回值中包含PHP函数,或适当的替代方法

来自分类Dev

包含错误和返回值的设计模式

来自分类Dev

QMap包含的返回值始终为true

来自分类Dev

从for循环中包含的递归返回值的正确方法

来自分类Dev

在返回值中包含PHP函数,或适当的替代方法

来自分类Dev

从for循环中包含的递归中返回值的正确方法

来自分类Dev

包含闭包的swift函数的空返回值

来自分类Dev

从包含闭包的Swift函数返回值

来自分类Dev

如何修复包含必须返回值的错误?

来自分类Dev

在方法的返回值中保留从文件获得的值

来自分类Dev

VS 2015本机编译器在生成项目时在.rdlc文件上返回值-1073741511

来自分类Dev

当方法包含多个if语句且具有多个返回值时,如何从该方法获取返回值?

来自分类Dev

当方法包含多个if语句且具有多个返回值时,如何从该方法获取返回值?

来自分类Dev

Android上的DCIM目录路径-返回值

来自分类Dev

在<p>元素上显示JS函数的返回值

来自分类Dev

Enter(JavaScript)上输入的文本的返回值

来自分类Dev

命令行上的当前功耗的返回值

来自分类Dev

在函数的返回值上使用Pig的ORDER BY

来自分类Dev

如何在Clojure try / catch上返回值

来自分类Dev

如何在函数 php mysql 上返回值数组

来自分类Dev

在被测方法上模拟装饰器的返回值

来自分类Dev

Shell_exec 在 shell 命令上返回值 NULL

来自分类Dev

TopLevel上的Tkinter单选按钮不返回值

Related 相关文章

热门标签

归档