2016-04-07 8 views
0

Vor ein paar Monaten konnte ich Fotos von meinem Bot-Pfad mit 5.5-Version hochladen. Jetzt habe ich mein PHP auf 5.6 aktualisiert und ich weiß nicht warum, aber ich kann nicht mehr. Dieser war mein Code:Problem mit Telegramm Bot entwickelt in PHP

$url = "https://api.telegram.org/bot".Token."/sendPhoto?chat_id=".$chat_id; 

     $post_fields = array(
       'photo'  => new CURLFile(realpath("test.png")) 
      ); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      "Content-Type:multipart/form-data" 
     )); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); 
     $output = curl_exec($ch); 
+0

Welche Fehler haben Sie bekommen? Was geschieht? Werden Warnungen angezeigt? Ist das Token noch gültig? Bitte geben Sie weitere Informationen an. –

+0

Getestet. Ihr Skript funktioniert ohne Probleme auf PHP 5.6. Wie Benedikt sagt, geben Sie weitere Informationen über Skriptverhalten und Fehler aufgetreten. – fusion3k

+0

Mit freundlichen Grüßen bekomme ich keine Fehlermeldung, ich bekomme meinen Bot nur für einen Tag offline, wenn ich versuche, ein Foto zu senden. Ja, das Token ist immer noch gültig, weil mein Bot perfekt funktioniert, außer für dieses Problem. – Gianluca

Antwort

0

Mit dieser Funktion i für CURL schrieb:

function makeHTTPRequest($method, $types = []){ 
    $url = 'https://api.telegram.org/bot'.Token.'/'.$method; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($types)); 
    $res = curl_exec($ch); 
    if (curl_error($ch)){ 
     var_dump(curl_error($ch)); 
    } else { 
     return json_decode($res); 
    } 
} 

es dann rufen Sie wo immer Sie wollen:

var_dump(makeHTTPRequest('sendPhoto', [ 
    'chat_id' => $chat_id, 
    'photo' => new CURLFile('test.png') 
]));