Lors du développement d'applications web ou mobiles, vous rencontrez souvent le besoin d'envoyer des SMS aux utilisateurs, soit pour des raisons de connexion, soit pour envoyer des informations. Le code PHP suivant implémente la fonction d'envoi de SMS.
Pour envoyer des SMS dans n'importe quelle langue, une passerelle SMS est requise. La plupart des SMS fourniront une API, ici MSG91 est utilisé comme passerelle 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); }
Parmi eux "$authKey = "XXXXXXXXXXXX";" vous demande de saisir votre mot de passe, et "$senderId = "IKOONK";" Lors de la saisie d'un numéro de mobile, vous devez spécifier l'indicatif du pays (par exemple, 1 pour les États-Unis, 91 pour l'Inde).
Syntaxe :
<?php$message = "Hello World";$mobile = "918112998787"; send_sms($mobile,$message);?>
2. Utilisez Mandrill pour envoyer des e-mails
Mandrill est un puissant fournisseur SMTP. Les développeurs ont tendance à utiliser un fournisseur SMTP tiers pour une meilleure livraison dans la boîte de réception.
Dans la fonction suivante, vous devez mettre "Mandrill.php" dans le même dossier qu'un fichier PHP, afin de pouvoir utiliser TA pour envoyer des emails.
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 账户中获得)。
Syntaxe :
<?php$to = "abc@example.com";$subject = "This is a test email";$message = "Hello World!"; send_email($to,$subject,$message);?>
Afin d'obtenir les meilleurs résultats, il est préférable de suivre le tutoriel de Mandrill pour configurer le DNS.
3. Fonction PHP : Empêcher l'injection SQL
L'injection SQL ou SQLi sont des moyens courants d'attaquer des sites Web. L'utilisation du code suivant peut vous aider à empêcher ces injections.
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;
}
Syntaxe :
<?php$text = "<script>alert(1)</script>";$text = clean($text);echo $text;?>
4. Détecter l'emplacement de l'utilisateur
Utilisez la fonction suivante pour détecter si l'utilisateur est à partir de quelle ville votre site Web est visité.
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; } }
Syntaxe :
<?php$ip = $_SERVER['REMOTE_ADDR'];$city = detect_city($ip);echo $city;?>
5. Obtenez le code source d'une page Web
Utilisez la fonction suivante pour obtenir n'importe quel site Web. code HTML des pages.
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. Comptez les utilisateurs qui aiment votre page Facebook
function fb_fan_count($facebook_name) { $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name)); $likes = $data->likes; return $likes; }
Syntaxe :
<?php$page = "koonktechnologies";$count = fb_fan_count($page);echo $count;?>
7. Déterminez la couleur dominante de n'importe quelle image
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. Requête Whois
Utilisez la fonction ci-dessous pour obtenir des détails complets sur l'utilisateur de n'importe quel domaine.
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; }
Syntaxe :
<?php$domain = "http://www.blog.koonk.com";$result = whois_query($domain);print_r($result);?>
9. Vérifier l'adresse e-mail
Parfois, lorsqu'il remplit un formulaire sur un site Web, l'utilisateur peut saisir une mauvaise adresse e-mail. Cette fonction peut vérifier si l'adresse e-mail est valide.
function is_validemail($email) {$check = 0;if(filter_var($email,FILTER_VALIDATE_EMAIL)) {$check = 1; }return $check; }
Syntaxe :
<?php$email = "blog@koonk.com";$check = is_validemail($email);echo $check;// If the output is 1, then email is valid.?>
10. Obtenez la véritable adresse IP de l'utilisateur
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; }
Syntaxe :
<?php$ip = getRealIpAddr();echo $ip;?>
Recommandations associées :
Comment envoyer le code de vérification du service SMS Alibaba Cloud PHP SMS
Utiliser le serveur PHP pour terminer le transfert des messages SMS
php envoyer un exemple de sms tutoriel code_PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!