За последние 24 часа нас посетили 17670 программистов и 1604 робота. Сейчас ищут 942 программиста ...

Передать URI в curl

Тема в разделе "PHP для новичков", создана пользователем co11ter, 10 фев 2012.

  1. co11ter

    co11ter Активный пользователь

    С нами с:
    3 авг 2011
    Сообщения:
    16
    Симпатии:
    0
    Код (PHP):
    1. <?
    2.    function postMessage($article, $access_token, $owner_id)    {
    3.           
    4.           $message = 'hi';
    5.           $link = JURI::root()."index.php?option=com_content&view=article&id=".$article->id;
    6.           $request = "https://api.vkontakte.ru/method/wall.post";
    7.           $params = array(
    8.             'owner_id'     => $owner_id,
    9.             'message'      => $message,
    10.             'link'         => $link,
    11.             'access_token' => $access_token);
    12.  
    13.           $result = $this->callMethod($request, $params);
    14.  
    15.           return $result;
    16.     }
    17.  
    18.     function callMethod($request, $params)        {
    19.           
    20.           $c=curl_init();
    21.           curl_setopt($c, CURLOPT_URL, $request);
    22.           curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    23.           curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
    24.           curl_setopt($c, CURLOPT_POST, true);
    25.           curl_setopt($c, CURLOPT_POSTFIELDS, $params);
    26.           curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 10);
    27.           curl_setopt($c, CURLOPT_TIMEOUT, 30);
    28.           $result=curl_exec($c);
    29.           curl_close($c);
    30.  
    31.           return $result;
    32.     } 
    Не получается передать параметр link, так как он содержит спецсимволы ? и &. Как закодировать $link, что-бы передать?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а что в доках написано? я с этим никогда не работал, но могу предположить либо htmlentitites или url_encode
     
  3. co11ter

    co11ter Активный пользователь

    С нами с:
    3 авг 2011
    Сообщения:
    16
    Симпатии:
    0
    Да ничего я в доках не нашёл... Ни htmlentities, ни url_encode не помогают - я уже пробовал. Проблема в том что ?option, &view и &id из переменной $link воспринимаются как параметры curl.