2011-04-26 4 views
0

$ _GET 변수를 보내는 데 흥미로운 문제가 있습니다. 꽤 긴 변수입니다.

내가 보내려고 어떤 (작동하지 않습니다) :

http://site.com/test.php?url=http%253A%252F%252Ffilecrown.com%252Fkf3f6sh97d1v%252FAnda_-_Bartok_-_Children.part1.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252Ft3chpybkpv3u%252FAnda_-_Bartok_-_Children.part2.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F1u9ajwa44u8y%252FAnda_-_Bartok_-_Children.part3.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F9v5hak7ssv3u%252FAnda_-_Beethoven_-_Piano_Sonatas_Nos.7%252614%252628.part1.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252Flul0nem8awsk%252FAnda_-_Beethoven_-_Piano_Sonatas_Nos.7%252614%252628.part2.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F93t2hhk973r0%252FAnda_-_Beethoven_-_Piano_Sonatas_Nos.7%252614%252628.part3.rar.html 

인 print_r을 ($ _ GET) 출력 :

http://site.com/test.php?url=http%253A%252F%252Ffilecrown.com%252Fkf3f6sh97d1v%252FAnda_-_Bartok_-_Children.part1.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252Ft3chpybkpv3u%252FAnda_-_Bartok_-_Children.part2.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F1u9ajwa44u8y%252FAnda_-_Bartok_-_Children.part3.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F9v5hak7ssv3u%252FAnda_-_Beethoven_-_Piano_Sonatas_Nos.7%252614%252628.part1.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252Flul0nem8awsk%252FAnda_-_Beethoven_-_Piano_Sonatas_Nos.7%252614%252628.part2.rar.html%250Ahttp%253A%252F%252Ffilecrown.com%252F93t2h 
: 나는 (작품)을 보내려고 무엇

Array() 

print_r ($ _ GET) 출력 :

단일 변수 $ _GET에 제한이 있습니까? 나는 왜 그것이 특정 시점까지 일하는 것을 멈추는 지 혼란 스럽다.

+0

Opera는 GET 매개 변수에 2GB를 허용하지만 대부분의 웹 서버는 길이를 제한합니다. 그리고 IE는 과거 버전에서 최대 2000 년을 보냈습니다. 그러나 당신은 여전히 ​​그 범위 내에서 보입니다. – mario

+0

저에게 맞습니다. PHP 제한이 아닙니다. 이걸 정확히 어떻게 테스트하고 있니? (웹 서버, 브라우저 등) – deceze

+0

Chrome (최신), Nginx 웹 서버로 테스트. – reefine

답변

0

GET 변수의 한도는 사용하는 브라우저에 의해 결정됩니다. 많은 정보를 보내야하는 경우 GET 대신 POST를 사용해야합니다. .

0

의 nginx가 발생 ​​"너무 큼 요청 엔티티 (413)"URI가 서버에 대한 너무 큰 경우 .. 그래서 나는 읽었다. 한계는 client_max_body_size 옵션에서 설정됩니다. 하지만 난 nginx에 대해 많이 모른다.