Как передать многомерный массив в качестве параметра GET в PHP? - PullRequest
1 голос
/ 21 апреля 2010

У меня есть следующий код.

$connect  = new Connection ();
$response = $connect->putFile($fileName, $destination);
header("Location: /test.php?response=" . $response);

Когда я вызываю заголовок с ответом, файл останавливает выполнение, но у меня не будет ошибок в консоли ... Я думаю, возможно, этот массив должен быть закодирован для URL?

если это так, то как?

Спасибо

Ответы [ 2 ]

2 голосов
/ 21 апреля 2010

Если $response - это многомерный массив, вы можете лучше всего воспользоваться serialize () с его помощью и urlencode () с результатом. Это добавляет некоторые накладные расходы, но не слишком много.

Однако передача данных через GET серьезно ограничена. Объем данных не должен превышать 1-2 килобайта. Источник: например здесь

Если ваши данные могут превысить этот предел, вам следует подумать о том, чтобы либо перенести данные через POST, либо, если это невозможно, в сеансе или другом виде постоянного хранилища.

2 голосов
/ 21 апреля 2010

Использование http_build_query()

http://us.php.net/http-build-query

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...