2015-07-02 3 views
0

Я не могу отправить фотографии.curl post multipart/form-data api

Более подробная информация - Телеграмма
https://core.telegram.org/bots/api#sendphoto

Я хочу, чтобы отправить фотографию, этот метод бесполезен. Есть ли другой метод?

<?php 
     $Photo = "http://www.pawprint.net/images/news/1-4fac83467069c.png"; 
     $IDUser = 26034352; 
     $Data = array(
     'chat_id' => $IDUser, 
     'photo' => $Photo, 
     'caption' => 'hi' 
     ); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,"https://api.telegram.org/bot93816942:AAHnjqsjpJjRItc7ySbUq4C5IRLqytpPK6k/sendPhoto"); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    //curl_setopt($ch, CURLOPT_POSTFIELDS,$options); 
    // in real life you should use something like: 
    curl_setopt($ch, CURLOPT_POSTFIELDS, 
       http_build_query($Data)); 
    // receive server response ... 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $server_output = curl_exec ($ch); 
    curl_close ($ch); 
    // frther processing .... 
    if ($server_output == "OK") { 
     echo "ok"; 
    } 
    ?> 
+0

Что бесполезно в отношении кода, который вы включили? – Eborbob

+0

Я хочу отправить фотографию Я не – Saleh

+0

@gonen Какой способ отправить многостраничный запрос – Saleh

ответ

0

Я вижу, что вы хотите, чтобы отправить изображение, расположенное на внешнем сервере с URL , так что вы можете сделать, как следовать

define('website', 'https://api.telegram.org/bot<bot-token>'); 

    function send($method, $datas) 
    { 
     $url = website . "/" . $method; 
     if (!$curld = curl_init()) { 
      exit; 
     } 
     curl_setopt($curld, CURLOPT_POST, true); 
     curl_setopt($curld, CURLOPT_POSTFIELDS, $datas); 
     curl_setopt($curld, CURLOPT_URL, $url); 
     curl_setopt($curld, CURLOPT_RETURNTRANSFER, true); 
     $output = curl_exec($curld); 
     curl_close($curld); 
    } 

теперь просто вызвать эту функцию с правильным именем методы и данными. пример для отправки фотографии:

$postfields = array(
    'chat_id' => $ChatID, 
    'photo' => "http://url.of/photo.jpg" 
); 

send("sendPhoto", $postfields);