0

我有一个 php 文件 list.php

<?php
$arr=array('444','555');
echo var_export($arr);
?>

现在我想使用 file_get_contents 从另一个 php 脚本中获取数组。这怎么可能实现?我不想使用会话。这两个脚本位于不同的服务器上。

4

2 回答 2

8

您可以使用serialize()数组或使用json_encode()JSON 对数组进行编码。然后,在另一个 PHP 脚本中,您将使用unserialize()orjson_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
于 2012-06-28T14:51:04.720 回答
0

作为 nickb 答案的一个小扩展:

脚本1

$arr=array('444','555');
file_put_contents("data.txt", serialize($arr));

脚本 2

$arr = unserialize(file_get_contents("data.txt"));

应该管用!

编辑:哦,好吧,尼克自己添加了一个例子:)

于 2012-06-28T14:53:39.830 回答