웹 또는 모바일 애플리케이션을 개발할 때 로그인 이유나 정보 전송을 위해 사용자에게 SMS를 보내야 하는 경우가 종종 있습니다. 다음 PHP 코드는 SMS 전송 기능을 구현합니다.
어떤 언어로든 SMS를 보내려면 SMS 게이트웨이가 필요합니다. 대부분의 SMS는 API를 제공하며 여기서는 MSG91이 SMS 게이트웨이로 사용됩니다.
function send_sms($mobile,$msg) {$authKey = "XXXXXXXXXXX"; date_default_timezone_set("Asia/Kolkata");$date = strftime("%Y-%m-%d %H:%M:%S");//Multiple mobiles numbers separated by comma$mobileNumber = $mobile; //Sender ID,While using route4 sender id should be 6 characters long.$senderId = "IKOONK"; //Your message to send, Add URL encoding here.$message = urlencode($msg); //Define route $route = "template";//Prepare you post parameters$postData = array( 'authkey' => $authKey, 'mobiles' => $mobileNumber, 'message' => $message, 'sender' => $senderId, 'route' => $route); //API URL$url="https://control.msg91.com/sendhttp.php"; // init the resource$ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postData //,CURLOPT_FOLLOWLOCATION => true)); //Ignore SSL certificate verificationcurl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //get response$output = curl_exec($ch);//Print error if anyif(curl_errno($ch)) { echo 'error:' . curl_error($ch); } curl_close($ch); }
그 중 "$authKey = "XXXXXXXXXXX";"에는 비밀번호를 입력해야 하며, "$senderId = "IKOONK";"에는 SenderID를 입력해야 합니다. 휴대폰 번호를 입력할 때 국가 코드를 지정해야 합니다(예: 미국은 1, 인도는 91).
구문:
<?php$message = "Hello World";$mobile = "918112998787"; send_sms($mobile,$message);?>
2. Mandrill을 사용하여 이메일 보내기
Mandrill은 강력한 SMTP 공급자입니다. 개발자는 더 나은 받은 편지함 전달을 위해 타사 SMTP 공급자를 사용하는 경향이 있습니다.
다음 함수에서는 "Mandrill.php"를 PHP 파일과 같은 폴더에 넣어야 TA를 사용하여 이메일을 보낼 수 있습니다.
function send_email($to_email,$subject,$message1) {require_once 'Mandrill.php';$apikey = 'XXXXXXXXXX'; //specify your api key here$mandrill = new Mandrill($apikey); $message = new stdClass();$message->html = $message1;$message->text = $message1;$message->subject = $subject;$message->from_email = "blog@koonk.com";//Sender Email$message->from_name = "KOONK";//Sender Name$message->to = array(array("email" => $to_email));$message->track_opens = true; $response = $mandrill->messages->send($message); } “$apikey = 'XXXXXXXXXX'; //specify your api key here”这里需要你指定你的 API 密钥(从 Mandrill 账户中获得)。
구문:
<?php$to = "abc@example.com";$subject = "This is a test email";$message = "Hello World!"; send_email($to,$subject,$message);?>
최상의 결과를 얻으려면 Mandrill의 튜토리얼에 따라 DNS를 구성하는 것이 가장 좋습니다.
3. PHP 기능: SQL 주입 방지
SQL 주입 또는 SQLi는 웹사이트를 공격하는 일반적인 수단입니다. 다음 코드를 사용하면 이러한 주입을 방지하는 데 도움이 될 수 있습니다.
function clean($input) { if (is_array($input)) { foreach ($input as $key => $val) { $output[$key] = clean($val); // $output[$key] = $this->clean($val); } } else { $output = (string) $input; // if magic quotes is on then use strip slashes if (get_magic_quotes_gpc()) { $output = stripslashes($output); } // $output = strip_tags($output); $output = htmlentities($output, ENT_QUOTES, 'UTF-8'); }// return the clean text return $output;
}
구문:
<?php$text = "<script>alert(1)</script>";$text = clean($text);echo $text;?>
4. 사용자 위치 감지
다음 기능을 사용하여 사용자가 웹사이트를 방문하는 도시를 감지하세요.
function detect_city($ip) { $default = 'UNKNOWN'; $curlopt_useragent = '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)'; $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip); $ch = curl_init(); $curl_opt = array( CURLOPT_FOLLOWLOCATION => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $curlopt_useragent, CURLOPT_URL => $url, CURLOPT_TIMEOUT => 1, CURLOPT_REFERER => 'http://' . $_SERVER['HTTP_HOST'], ); curl_setopt_array($ch, $curl_opt); $content = curl_exec($ch); if (!is_null($curl_info)) { $curl_info = curl_getinfo($ch); } curl_close($ch); if ( preg_match('{<li>City : ([^<]*)</li>}i', $content, $regs) ) { $city = $regs[1]; } if ( preg_match('{<li>State/Province : ([^<]*)</li>}i', $content, $regs) ) { $state = $regs[1]; } if( $city!='' && $state!='' ){ $location = $city . ', ' . $state; return $location; }else{ return $default; } }
구문:
<?php$ip = $_SERVER['REMOTE_ADDR'];$city = detect_city($ip);echo $city;?>
5. 웹 페이지의 소스 코드 가져오기
다음 기능을 사용하여 웹 페이지의 HTML 코드를 가져오세요.
function display_sourcecode($url) {$lines = file($url);$output = "";foreach ($lines as $line_num => $line) { // loop thru each line and prepend line numbers $output.= "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n"; } } 语法: <?php$url = "http://blog.koonk.com";$source = display_sourcecode($url);echo $source;?>
6. Facebook 페이지를 좋아하는 사용자 수를 세세요
function fb_fan_count($facebook_name) { $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name)); $likes = $data->likes; return $likes; }
구문:
<?php$page = "koonktechnologies";$count = fb_fan_count($page);echo $count;?>
7. 이미지의 주요 색상을 결정하세요
function dominant_color($image) {$i = imagecreatefromjpeg($image);for ($x=0;$x<imagesx($i);$x++) { for ($y=0;$y<imagesy($i);$y++) { $rgb = imagecolorat($i,$x,$y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> & 0xFF; $b = $rgb & 0xFF; $rTotal += $r; $gTotal += $g; $bTotal += $b; $total++; } }$rAverage = round($rTotal/$total);$gAverage = round($gTotal/$total);$bAverage = round($bTotal/$total); }
8. 아래 기능을 사용하여 도메인을 얻으세요. 이름 사용자의 전체 세부정보입니다.
function whois_query($domain) { // fix the domain name: $domain = strtolower(trim($domain)); $domain = preg_replace('/^http:\/\//i', '', $domain); $domain = preg_replace('/^www\./i', '', $domain); $domain = explode('/', $domain); $domain = trim($domain[0]); // split the TLD from domain name $_domain = explode('.', $domain); $lst = count($_domain)-1; $ext = $_domain[$lst]; // You find resources and lists // like these on wikipedia: // // http://de.wikipedia.org/wiki/Whois // $servers = array( "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" ); if (!isset($servers[$ext])){ die('Error: No matching nic server found!'); } $nic_server = $servers[$ext]; $output = ''; // connect to whois server: if ($conn = fsockopen ($nic_server, 43)) { fputs($conn, $domain."\r\n"); while(!feof($conn)) { $output .= fgets($conn,128); } fclose($conn); } else { die('Error: Could not connect to ' . $nic_server . '!'); } return $output; }
<?php$domain = "http://www.blog.koonk.com";$result = whois_query($domain);print_r($result);?>
9. 이메일 주소 확인
가끔 웹사이트에서 양식을 작성할 때 사용자가 잘못된 이메일 주소를 입력할 수 있습니다.
function is_validemail($email) {$check = 0;if(filter_var($email,FILTER_VALIDATE_EMAIL)) {$check = 1; }return $check; }
<?php$email = "blog@koonk.com";$check = is_validemail($email);echo $check;// If the output is 1, then email is valid.?>
10. 사용자의 실제 IP를 가져옵니다
function getRealIpAddr() { if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; }
<?php$ip = getRealIpAddr();echo $ip;?>
Alibaba Cloud PHP SMS SMS 확인 코드를 보내는 방법
위 내용은 PHP는 SMS 전송을 위한 함수 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!