![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Apr 2006
Сообщений: 4
|
Добрый день!
Господа PHP программеры! Помогите решить проблему! Использую CURL... <? $textvar="Tom & Jerry"; $params="var1=1&var2=".$textvar; $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://site.com'); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt ($ch, CURLOPT_POST, 1); curl_exec($ch); curl_close($ch); ?> Проблема в том, что до 'получателя' переменная $textvar доходит ровно до знака & (амперсанд), и отрезается. Пробовал заменить знак "&" на "%38" - в этом случае почему то доходит только "8" (а "%3" заменяется на соответсвующий символ). Помогите плиз! Как методом POST передается амперсанд, чтоб получатель воспринял его как текст и не спотыкался! |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 4
|
Проблему решил сам. Нужно заменять амперсанды на "%26" - не понимаю, почему не на 38 (ASCII код амперсанда), кто объяснит?
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 367
|
вот тебе функция которая ассоциативный массив перегоняет в строку для пост запроса
function PostGenerator($in = array()) { $tmp = NULL; foreach ($in as $k=>$v) { $tmp .= "$k=" . utf8_encode($v) . "&"; } $out = substr($tmp, 0, -1); return $out; } скорее всего у тя проблемы с кодировкой, должна быть utf8
__________________
[MScoder] |
|
|||||
|
а лучше:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|