在我的應用程序中,我必須在註冊時向用戶發送短信。但是,在數據庫插入記錄時,我想在瀏覽器中打這個URL。在後臺運行url在php中
任何一個可以建議如何在backgound
http://www.myurl.com/smpp/sendsms?username=XX&password=XX&to=XX&from=XX&text=Test
在我的應用程序中,我必須在註冊時向用戶發送短信。但是,在數據庫插入記錄時,我想在瀏覽器中打這個URL。在後臺運行url在php中
任何一個可以建議如何在backgound
http://www.myurl.com/smpp/sendsms?username=XX&password=XX&to=XX&from=XX&text=Test
運行這個網址,你可以fork一個子進程與了pcntl PHP擴展。
當用戶點擊提交按鈕時進行AJAX調用。這會導致該URL中的腳本在後臺運行,而當前的PHP將該記錄插入到數據庫中。
Ajax?在保存用ajax調用另一個php文件的記錄時,使用ajax將該url加載到div中。
不要從客戶端發送此信息,因爲每個用戶只需通過加載一些(可能是惡意的)參數來鏈接您的URL即可輕鬆「僞造」數據。 「用戶名」和「密碼」根本不受保護,我相信你的服務會很快下降。
相反,你可以很容易地做到這一點在後臺(服務器端)與PHP的捲曲功能:
嗯,這取決於你的意思與background
但是我asuming你的意思用戶不會被重定向到該頁面。
如果我是你,如果你已經安裝了它,我會與cURL一起去,因爲你唯一想做的事情就是做一個普通的請求,也許讀取響應。下面的代碼沒有經過測試,但應該給你一個提示。
$req = curl_init();
curl_setopt($req, CURLOPT_URL,"theaddress_and_params");
curl_exec($req);
如果你這樣做了,你會在URL(或標題)中公開用戶名和密碼。讓用戶提前登錄並使用會話變量。
$url = 'http://yoursmsgateway.com/WebSMS/SMSAPI.jsp?username='.$smsuser.'&password='.$smspwd.'&sendername='.$smssender.'&mobileno='.$number.'&message='.urlencode($message);
echo $url;
$mystring = get_data($url);
//echo "hi!";
echo $mystring;
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
您可以試試這段代碼,但是您必須安裝cUrl DLL文件。安裝CURL過程在下面給出: -
1)打開php.ini文件
2)找到此DLL文件--->;延長= php_curl.dll
3.)去掉 ; (分號)
4.)例如---> extension = php_curl。dll的
5)保存(CTRL + S)
public function get_url($url)
{
$cmd = "curl --max-time 60 ";
$cmd .= "'" . $url . "'";
$cmd .= " > /dev/null 2>&1 &";
exec($cmd, $output, $exit);
return $exit == 0;
}
它會調用捲曲通過CLI。它會在後臺運行。
你可以使用CURL –
I second什麼@IrfanDANISH說:) –