2014-12-21 4 views
-3

Я хочу отправить sms через мою страницу php.Как перенаправить на мою страницу после посещения веб-сайта API?

Моего SMS провайдер шлюз дал моим апи как «http://sms.xyz.com/uname=abc&pass=xyz&phone=1234567890&msg=hello» (посещение этого URL в браузере отправляет смс на номер телефона)

Я хочу, чтобы мой сценарий просто посетить этот адрес (так что смс отправляется) и вернуться на мою собственную страницу (независимо от результата) и распечатать «Сообщение отправлено»

Просьба предложить любой способ сделать это.

+1

Используйте завиток или 'file_get_contents' – sjagr

+0

Не, так как пользователи будут видеть ваш сайт полномочия. Используйте что-то вроде ['curl'] (http://php.net/curl) вместо – kero

+0

Я не знаю, как использовать filee_get_contents и curl создает проблему .. :( – Ashish

ответ

0

Использование cURL отправить сообщение и получить ответ и header() для перенаправления пользователя.

<?php 
function send($phone, $msg) 
{ 
    $API_URL = "http://sms.xyz.com/"; 
    $UNAME = "abc"; 
    $PASS = "xyz"; 

    $query = array(
     'uname'=>$UNAME, 
     'pass'=>$PASS, 
     'phone'=>$phone, 
     'msg'=>$msg 
    ); 
    $url = $API_URL . "?" . http_build_query($query); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); // set the url to fetch 
    curl_setopt($ch, CURLOPT_HEADER, 0); // set headers (0 = no headers in result) 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // type of transfer (1 = to string) 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_TIMEOUT_MS, 4000); // time to wait in miliseconds 
    $content = curl_exec($ch); // Make the call 
    curl_close($ch); 

    echo "Response Message == ".$content; // Response message 
} 

// Now hit the function 
send('9220022002', 'Hello world!'); 

// and redirect wherever you want 
header("location:http://www.google.com"); 
// or 
header("location:/something/anything"); 
// or 
header("location:index.php"); 

exit(); // always use exit after using header('Location') 
+0

Как вызвать эту функцию отправки? – Ashish

+0

Просто «send ('9220022002», «Hello world!»); '. Или если вы используете ООП затем '$ this-> send ('9220022002', 'Hello world!')'; –

Смежные вопросы