在我的应用程序中,我必须在注册时向用户发送短信。但是,在数据库插入记录时,我想在浏览器中打这个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说:) –