从另一台服务器
问题描述:
让PHP数组我有一个PHP文件list.php的从另一台服务器
<?php
$arr=array('444','555');
echo var_export($arr);
?>
现在我想从使用的file_get_contents另一个PHP脚本的阵列。 这怎么能实现?我不想使用会话。 这两个脚本位于不同的服务器上。
答
您可以使用serialize()
数组或使用json_encode()
以JSON编码数组。然后,在另一个PHP脚本中,您将使用unserialize()
或json_decode()
将字符串重新获取到数组中。
实施例,使用serialize()
:
在a.php只会(服务器A)
$array = array("foo" => 5, "bar" => "baz");
file_put_contents('array.txt', serialize($array));
在b.php(服务器B)
$string = file_get_contents('http://www.otherserver.com/array.txt');
$array = unserialize($string);
var_dump($array); // This will print the original array
你也可以输出字符串从PHP脚本,而是将其保存到文件中,就像这样:
在a.php只会(在服务器A)
$array = array("foo" => 5, "bar" => "baz");
echo serialize($array); exit;
在b.php(服务器B )
$string = file_get_contents('http://www.otherserver.com/a.php');
$array = unserialize($string);
var_dump($array); // This will print the original array
答
作为一个小扩展nickb的回答是:
SCRIPT1
$arr=array('444','555');
file_put_contents("data.txt", serialize($arr));
脚本2
$arr = unserialize(file_get_contents("data.txt"));
应该努力!
编辑:哦,尼克尼自己添加了一个例子:)
请问您能解释一下,使用代码示例吗?我实际上尝试了你提到的两种方式。我得到一个错误:php unserialize在偏移量为0时出错。对于json,我得到的结果是NULL。 – ASHUTOSH
@ASHUTOSH - 已经添加了一个简单的例子。让我知道如果这不适合你 – nickb
谢谢尼克。前面我用户以下代码:在a.php 和在b.php我做错了吗? –
ASHUTOSH