2010-04-21 4 views
1

다음 코드가 있습니다.PHP에서 GET 매개 변수로 다차원 배열을 전달하는 방법은 무엇입니까?

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

나는 응답 헤더를 호출하면, 파일이 실행을 중지합니다,하지만 난 콘솔에 오류가 없습니다 ... 나는 어쩌면이 배열은 URL 인코딩 할 필요가 생각하고?

그런 경우 어떻게됩니까?

답변

2

$response가 다차원 배열 인 경우, 결과를 보내고 그것과를 urlencode를 보내고 serialize()()에 의해 최고의 운임 수 있습니다 감사합니다. 약간의 오버 헤드가 있지만 너무 많지는 않습니다.

그러나 GET을 통한 데이터 전송은 심각하게 제한됩니다. 데이터의 양은 1-2 킬로바이트를 넘지 않아야합니다. 출처 : 예 : here

데이터가 제한을 초과 할 가능성이있는 경우 데이터를 POST을 통해 전송하거나 불가능할 경우 세션 또는 다른 종류의 영구 저장 장치를 고려해야합니다.

2

사용 http_build_query()

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

+0

나는 http_build_query를 사용하는 것에 대해 생각했지만, 문제는 이것이 배열의 모든 값을 매개 변수로 가져 오는 것입니다. 1 차원 배열의 경우에는 다차원 배열에 적합하지 않을 수 있습니다. 특히 응답이 매번 달라 지거나 이와 같이 여러 배열이 포함되어있는 경우 특히 그렇습니다. [0] => SimpleXMLElement 객체 () [1] = > SimpleXMLElement 개체 () [2] => SimpleXMLElement () [3] => SimpleXMLElement () 개체 개체 ... – Onema

관련 문제