PHP implémente le code de fonction pour l'envoi de SMS

小云云
Libérer: 2023-03-20 13:38:02
original
2403 Les gens l'ont consulté

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);
}
Copier après la connexion

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);?>
Copier après la connexion

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 &#39;Mandrill.php&#39;;$apikey = &#39;XXXXXXXXXX&#39;; //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 = &#39;XXXXXXXXXX&#39;; //specify your api key here”这里需要你指定你的 API 密钥(从 Mandrill 账户中获得)。
Copier après la connexion

Syntaxe :

<?php$to = "abc@example.com";$subject = "This is a test email";$message = "Hello World!";
send_email($to,$subject,$message);?>
Copier après la connexion

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, &#39;UTF-8&#39;);
    }// return the clean text
    return $output;
Copier après la connexion

}
Syntaxe :

<?php$text = "<script>alert(1)</script>";$text = clean($text);echo $text;?>
Copier après la connexion


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 = &#39;UNKNOWN&#39;; 
        $curlopt_useragent = &#39;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)&#39;;        
        $url = &#39;http://ipinfodb.com/ip_locator.php?ip=&#39; . 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         => &#39;http://&#39; . $_SERVER[&#39;HTTP_HOST&#39;],
        );
        
        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(&#39;{<li>City : ([^<]*)</li>}i&#39;, $content, $regs) )  {            $city = $regs[1];
        }        if ( preg_match(&#39;{<li>State/Province : ([^<]*)</li>}i&#39;, $content, $regs) )  {            $state = $regs[1];
        } 
        if( $city!=&#39;&#39; && $state!=&#39;&#39; ){          $location = $city . &#39;, &#39; . $state;          return $location;
        }else{          return $default; 
        }
        
    }
Copier après la connexion

Syntaxe :

<?php$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];$city = detect_city($ip);echo $city;?>
Copier après la connexion


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;?>
Copier après la connexion

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;
}
Copier après la connexion

Syntaxe :

<?php$page = "koonktechnologies";$count = fb_fan_count($page);echo $count;?>
Copier après la connexion


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);
}
Copier après la connexion

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(&#39;/^http:\/\//i&#39;, &#39;&#39;, $domain);    $domain = preg_replace(&#39;/^www\./i&#39;, &#39;&#39;, $domain);    $domain = explode(&#39;/&#39;, $domain);    $domain = trim($domain[0]); 
    // split the TLD from domain name
    $_domain = explode(&#39;.&#39;, $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(&#39;Error: No matching nic server found!&#39;);
    } 
    $nic_server = $servers[$ext]; 
    $output = &#39;&#39;; 
    // 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(&#39;Error: Could not connect to &#39; . $nic_server . &#39;!&#39;); } 
    return $output;
}
Copier après la connexion

Syntaxe :

<?php$domain = "http://www.blog.koonk.com";$result = whois_query($domain);print_r($result);?>
Copier après la connexion


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;
}
Copier après la connexion

Syntaxe :

<?php$email = "blog@koonk.com";$check = is_validemail($email);echo $check;// If the output is 1, then email is valid.?>
Copier après la connexion


10. Obtenez la véritable adresse IP de l'utilisateur

function getRealIpAddr()  
{  
    if (!emptyempty($_SERVER[&#39;HTTP_CLIENT_IP&#39;]))  
    {  
        $ip=$_SERVER[&#39;HTTP_CLIENT_IP&#39;];  
    }  
    elseif (!emptyempty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]))  
    //to check ip is pass from proxy      {  
        $ip=$_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;];  
    }  
    else  
    {  
        $ip=$_SERVER[&#39;REMOTE_ADDR&#39;];  
    }  
    return $ip;  
}
Copier après la connexion

Syntaxe :

<?php$ip = getRealIpAddr();echo $ip;?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!