1. 发送 SMS
在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。
为了使用任何的语言发送 SMS,需要一个 SMS gateway。大部分的 SMS 会提供一个 API,这里是使用 MSG91 作为 SMS gateway。
<span style="color: #800080">$senderId = "IKOONK"<span style="color: #000000">; <span style="color: #008000">//<span style="color: #008000">Your message to send,Add URL encoding here.
<span style="color: #800080">$message = <span style="color: #008080">urlencode(<span style="color: #800080">$msg<span style="color: #000000">); <span style="color: #008000">//<span style="color: #008000">Define route
<span style="color: #800080">$route = "template"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000">Prepare you post parameters
<span style="color: #800080">$postData = <span style="color: #0000ff">array<span style="color: #000000">(
'authkey' => <span style="color: #800080">$authKey,'mobiles' => <span style="color: #800080">$mobileNumber,'message' => <span style="color: #800080">$message,'sender' => <span style="color: #800080">$senderId,'route' => <span style="color: #800080">$route<span style="color: #000000">
);
<span style="color: #008000">//<span style="color: #008000">API URL
<span style="color: #800080">$url="https://control.msg91.com/sendhttp.php"<span style="color: #000000">;
<span style="color: #008000">//<span style="color: #008000"> init the resource
<span style="color: #800080">$ch =<span style="color: #000000"> curl_init();
curl_setopt_array(<span style="color: #800080">$ch,<span style="color: #0000ff">array<span style="color: #000000">(
CURLOPT_URL => <span style="color: #800080">$url,<span style="color: #000000">
CURLOPT_RETURNTRANSFER => <span style="color: #0000ff">true,<span style="color: #000000">
CURLOPT_POST => <span style="color: #0000ff">true,<span style="color: #000000">
CURLOPT_POSTFIELDS => <span style="color: #800080">$postData
<span style="color: #008000">//<span style="color: #008000">,CURLOPT_FOLLOWLOCATION => true
<span style="color: #000000">));
<span style="color: #008000">//<span style="color: #008000">Ignore SSL certificate verification
curl_setopt(<span style="color: #800080">$ch,CURLOPT_SSL_VERIFYHOST,0<span style="color: #000000">);
curl_setopt(<span style="color: #800080">$ch,CURLOPT_SSL_VERIFYPEER,0<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000">get response
<span style="color: #800080">$output = curl_exec(<span style="color: #800080">$ch<span style="color: #000000">);
<span style="color: #008000">//<span style="color: #008000">Print error if any
<span style="color: #0000ff">if(curl_errno(<span style="color: #800080">$ch<span style="color: #000000">))
{
<span style="color: #0000ff">echo 'error:' . curl_error(<span style="color: #800080">$ch<span style="color: #000000">);
}
curl_close(<span style="color: #800080">$ch<span style="color: #000000">);
}
其中“$authKey = "XXXXXXXXXXX";”需要你输入你的密码,“$senderId = "IKOONK";”需要你输入你的 SenderID。当输入移动号码的时候需要指定国家代码 (比如,美国是 1,印度是 91 )。
语法:
2. 使用 mandrill 发送邮件
Mandril 是一款强大的 SMTP 提供器。开发者倾向于使用一个第三方 SMTP provider 来获取更好的收件交付。
下面的函数中,你需要把 “Mandrill.php” 放在同一个文件夹,作为 PHP 文件,这样就可以使用TA来发送邮件。
<span style="color: #800080">$message->html = <span style="color: #800080">$message1<span style="color: #000000">;
<span style="color: #800080">$message->text = <span style="color: #800080">$message1<span style="color: #000000">;
<span style="color: #800080">$message->subject = <span style="color: #800080">$subject<span style="color: #000000">;
<span style="color: #800080">$message->from_email = "blog@koonk.com";<span style="color: #008000">//<span style="color: #008000">Sender Email
<span style="color: #800080">$message->from_name = "KOONK";<span style="color: #008000">//<span style="color: #008000">Sender Name
<span style="color: #800080">$message->to = <span style="color: #0000ff">array(<span style="color: #0000ff">array("email" => <span style="color: #800080">$to_email<span style="color: #000000">));
<span style="color: #800080">$message->track_opens = <span style="color: #0000ff">true<span style="color: #000000">;
<span style="color: #800080">$response = <span style="color: #800080">$mandrill->messages->send(<span style="color: #800080">$message<span style="color: #000000">);
}
“$apikey = 'XXXXXXXXXX'; //specify your api key here”这里需要你指定你的 API 密钥(从 Mandrill 账户中获得)。
语法:
为了达到最好的效果,最好按照 Mandrill 的教程去配置 DNS。
3. PHP 函数:阻止 SQL 注入
SQL 注入或者 SQLi 常见的攻击网站的手段,使用下面的代码可以帮助你防止这些注入。
语法:
4. 检测用户位置
使用下面的函数,可以检测用户是在哪个城市访问你的网站。
</span><span style="color: #800080">$default</span> = 'UNKNOWN'<span style="color: #000000">;
</span><span style="color: #800080">$curlopt_useragent</span> = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)'<span style="color: #000000">;
</span><span style="color: #800080">$url</span> = 'http://ipinfodb.com/ip_locator.php?ip=' . <span style="color: #008080">urlencode</span>(<span style="color: #800080">$ip</span><span style="color: #000000">);
</span><span style="color: #800080">$ch</span> =<span style="color: #000000"> curl_init();
</span><span style="color: #800080">$curl_opt</span> = <span style="color: #0000ff">array</span><span style="color: #000000">(
CURLOPT_FOLLOWLOCATION </span>=> 1,<span style="color: #000000">
CURLOPT_HEADER </span>=> 0,<span style="color: #000000">
CURLOPT_RETURNTRANSFER </span>=> 1,<span style="color: #000000">
CURLOPT_USERAGENT </span>=> <span style="color: #800080">$curlopt_useragent</span>,<span style="color: #000000">
CURLOPT_URL </span>=> <span style="color: #800080">$url</span>,<span style="color: #000000">
CURLOPT_TIMEOUT </span>=> 1,<span style="color: #000000">
CURLOPT_REFERER </span>=> 'http://' . <span style="color: #800080">$_SERVER</span>['HTTP_HOST'],<span style="color: #000000">
);
curl_setopt_array(</span><span style="color: #800080">$ch</span>,<span style="color: #800080">$curl_opt</span><span style="color: #000000">);
</span><span style="color: #800080">$content</span> = curl_exec(<span style="color: #800080">$ch</span><span style="color: #000000">);
</span><span style="color: #0000ff">if</span> (!<span style="color: #008080">is_null</span>(<span style="color: #800080">$curl_info</span><span style="color: #000000">)) {
</span><span style="color: #800080">$curl_info</span> = curl_getinfo(<span style="color: #800080">$ch</span><span style="color: #000000">);
}
curl_close(</span><span style="color: #800080">$ch</span><span style="color: #000000">);
</span><span style="color: #0000ff">if</span> ( <span style="color: #008080">preg_match</span>('{<li>City : ([^<]*)</li>}i',<span style="color: #800080">$content</span>,<span style="color: #800080">$regs</span><span style="color: #000000">) ) {
</span><span style="color: #800080">$city</span> = <span style="color: #800080">$regs</span>[1<span style="color: #000000">];
}
</span><span style="color: #0000ff">if</span> ( <span style="color: #008080">preg_match</span>('{<li>State/Province : ([^<]*)</li>}i',<span style="color: #800080">$regs</span><span style="color: #000000">) ) {
</span><span style="color: #800080">$state</span> = <span style="color: #800080">$regs</span>[1<span style="color: #000000">];
}
</span><span style="color: #0000ff">if</span>( <span style="color: #800080">$city</span>!='' && <span style="color: #800080">$state</span>!=''<span style="color: #000000"> ){
</span><span style="color: #800080">$location</span> = <span style="color: #800080">$city</span> . ',' . <span style="color: #800080">$state</span><span style="color: #000000">;
</span><span style="color: #0000ff">return</span> <span style="color: #800080">$location</span><span style="color: #000000">;
}</span><span style="color: #0000ff">else</span><span style="color: #000000">{
</span><span style="color: #0000ff">return</span> <span style="color: #800080">$default</span><span style="color: #000000">;
}
}</span></pre>
语法:
5. 获取 Web 页面的源代码
使用下面的函数,可以获取任意 Web 页面的 HTML 代码。
\n"
语法:
6. 计算喜欢你的 Facebook 页面的用户
语法:
7. 确定任意图片的主导颜色
8.whois 查询
使用下面的函数可以获取任何域名用户的完整细节。
</span><span style="color: #008000">//</span><span style="color: #008000"> fix the domain name:</span>
<span style="color: #800080">$domain</span> = <span style="color: #008080">strtolower</span>(<span style="color: #008080">trim</span>(<span style="color: #800080">$domain</span><span style="color: #000000">));
</span><span style="color: #800080">$domain</span> = <span style="color: #008080">preg_replace</span>('/^http:\/\//i','',<span style="color: #800080">$domain</span><span style="color: #000000">);
</span><span style="color: #800080">$domain</span> = <span style="color: #008080">preg_replace</span>('/^www\./i',<span style="color: #800080">$domain</span><span style="color: #000000">);
</span><span style="color: #800080">$domain</span> = <span style="color: #008080">explode</span>('/',<span style="color: #800080">$domain</span><span style="color: #000000">);
</span><span style="color: #800080">$domain</span> = <span style="color: #008080">trim</span>(<span style="color: #800080">$domain</span>[0<span style="color: #000000">]);
</span><span style="color: #008000">//</span><span style="color: #008000"> split the TLD from domain name</span>
<span style="color: #800080">$_domain</span> = <span style="color: #008080">explode</span>('.',<span style="color: #800080">$domain</span><span style="color: #000000">);
</span><span style="color: #800080">$lst</span> = <span style="color: #008080">count</span>(<span style="color: #800080">$_domain</span>)-1<span style="color: #000000">;
</span><span style="color: #800080">$ext</span> = <span style="color: #800080">$_domain</span>[<span style="color: #800080">$lst</span><span style="color: #000000">];
</span><span style="color: #008000">//</span><span style="color: #008000"> You find resources and lists
// like these on wikipedia:
//
// http://de.wikipedia.org/wiki/Whois
//</span>
<span style="color: #800080">$servers</span> = <span style="color: #0000ff">array</span><span style="color: #000000">(
</span>"biz" => "whois.neulevel.biz","com" => "whois.internic.net","us" => "whois.nic.us","coop" => "whois.nic.coop","info" => "whois.nic.info","name" => "whois.nic.name","net" => "whois.internic.net","gov" => "whois.nic.gov","edu" => "whois.internic.net","mil" => "rs.internic.net","int" => "whois.iana.org","ac" => "whois.nic.ac","ae" => "whois.uaenic.ae","at" => "whois.ripe.net","au" => "whois.aunic.net","be" => "whois.dns.be","bg" => "whois.ripe.net","br" => "whois.registro.br","bz" => "whois.belizenic.bz","ca" => "whois.cira.ca","cc" => "whois.nic.cc","ch" => "whois.nic.ch","cl" => "whois.nic.cl","cn" => "whois.cnnic.net.cn","cz" => "whois.nic.cz","de" => "whois.nic.de","fr" => "whois.nic.fr","hu" => "whois.nic.hu","ie" => "whois.domainregistry.ie","il" => "whois.isoc.org.il","in" => "whois.ncst.ernet.in","ir" => "whois.nic.ir","mc" => "whois.ripe.net","to" => "whois.tonic.to","tv" => "whois.tv","ru" => "whois.ripn.net","org" => "whois.pir.org","aero" => "whois.information.aero","nl" => "whois.domain-registry.nl"<span style="color: #000000">
);
</span><span style="color: #0000ff">if</span> (!<span style="color: #0000ff">isset</span>(<span style="color: #800080">$servers</span>[<span style="color: #800080">$ext</span><span style="color: #000000">])){
</span><span style="color: #0000ff">die</span>('Error: No matching nic server found!'<span style="color: #000000">);
}
</span><span style="color: #800080">$nic_server</span> = <span style="color: #800080">$servers</span>[<span style="color: #800080">$ext</span><span style="color: #000000">];
</span><span style="color: #800080">$output</span> = ''<span style="color: #000000">;
</span><span style="color: #008000">//</span><span style="color: #008000"> connect to whois server:</span>
<span style="color: #0000ff">if</span> (<span style="color: #800080">$conn</span> = <span style="color: #008080">fsockopen</span> (<span style="color: #800080">$nic_server</span>,43<span style="color: #000000">)) {
</span><span style="color: #008080">fputs</span>(<span style="color: #800080">$conn</span>,<span style="color: #800080">$domain</span>."\r\n"<span style="color: #000000">);
</span><span style="color: #0000ff">while</span>(!<span style="color: #008080">feof</span>(<span style="color: #800080">$conn</span><span style="color: #000000">)) {
</span><span style="color: #800080">$output</span> .= <span style="color: #008080">fgets</span>(<span style="color: #800080">$conn</span>,128<span style="color: #000000">);
}
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$conn</span><span style="color: #000000">);
}
</span><span style="color: #0000ff">else</span> { <span style="color: #0000ff">die</span>('Error: Could not connect to ' . <span style="color: #800080">$nic_server</span> . '!'<span style="color: #000000">); }
</span><span style="color: #0000ff">return</span> <span style="color: #800080">$output</span><span style="color: #000000">;
}
语法:
9. 验证邮箱地址
有时候,当在网站填写表单,用户可能会输入错误的邮箱地址,这个函数可以验证邮箱地址是否有效。
语法:
10. 获取用户的真实 IP
语法:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。