Heim > Backend-Entwicklung > PHP-Tutorial > PHP implementiert Funktionscode zum Versenden von SMS

PHP implementiert Funktionscode zum Versenden von SMS

小云云
Freigeben: 2023-03-20 13:38:02
Original
2441 Leute haben es durchsucht

Bei der Entwicklung von Web- oder Mobilanwendungen müssen Sie häufig SMS an Benutzer senden, sei es zum Anmelden oder zum Versenden von Informationen. Der folgende PHP-Code implementiert die Funktion des SMS-Versands.
Um SMS in einer beliebigen Sprache zu versenden, ist ein SMS-Gateway erforderlich. Die meisten SMS stellen eine API bereit, hier wird MSG91 als SMS-Gateway verwendet.

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);
}
Nach dem Login kopieren

Unter anderem erfordert „$authKey = „XXXXXXXXXX“;“ die Eingabe Ihres Passworts und „$senderId = „IKOONK“;“ Bei der Eingabe einer Mobiltelefonnummer müssen Sie die Landesvorwahl angeben (z. B. 1 für die USA, 91 für Indien).
Syntax:

<?php$message = "Hello World";$mobile = "918112998787";
send_sms($mobile,$message);?>
Nach dem Login kopieren

2. Verwenden Sie Mandrill zum Versenden von E-Mails
Mandrill ist ein leistungsstarker SMTP-Anbieter. Entwickler neigen dazu, für eine bessere Posteingangszustellung einen Drittanbieter-SMTP-Anbieter zu nutzen.
In der folgenden Funktion müssen Sie „Mandrill.php“ im selben Ordner wie eine PHP-Datei ablegen, damit Sie TA zum Versenden von E-Mails verwenden können.

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 账户中获得)。
Nach dem Login kopieren

Syntax:

<?php$to = "abc@example.com";$subject = "This is a test email";$message = "Hello World!";
send_email($to,$subject,$message);?>
Nach dem Login kopieren

Um die besten Ergebnisse zu erzielen, befolgen Sie am besten Mandrills Tutorial zur DNS-Konfiguration.
3. PHP-Funktion: SQL-Injection verhindern
SQL-Injection oder SQLi sind gängige Mittel zum Angriff auf Websites. Die Verwendung des folgenden Codes kann Ihnen helfen, diese Injektionen zu verhindern.

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;
Nach dem Login kopieren

}
Syntax:

<?php$text = "<script>alert(1)</script>";$text = clean($text);echo $text;?>
Nach dem Login kopieren


4. Erkennen Sie den Benutzerstandort
Verwenden Sie die folgende Funktion, um zu erkennen, ob der Benutzer ist Von welcher Stadt aus Ihre Website besucht wird.

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; 
        }
        
    }
Nach dem Login kopieren

Syntax:

<?php$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];$city = detect_city($ip);echo $city;?>
Nach dem Login kopieren


5. Holen Sie sich den Quellcode einer Webseite
Verwenden Sie die folgende Funktion, um ein beliebiges Web abzurufen HTML-Code der Seite.

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;?>
Nach dem Login kopieren

6. Zählen Sie Benutzer, denen Ihre Facebook-Seite gefällt

function fb_fan_count($facebook_name)
{    $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name));    $likes = $data->likes;    return $likes;
}
Nach dem Login kopieren

Syntax:

<?php$page = "koonktechnologies";$count = fb_fan_count($page);echo $count;?>
Nach dem Login kopieren


7. Bestimmen Sie die dominierende Farbe eines beliebigen Bildes

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);
}
Nach dem Login kopieren

8. Whois-Abfrage
Verwenden Sie die Funktion unten, um vollständige Details des Benutzers einer beliebigen Domain zu erhalten.

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;
}
Nach dem Login kopieren

Syntax:

<?php$domain = "http://www.blog.koonk.com";$result = whois_query($domain);print_r($result);?>
Nach dem Login kopieren


9. E-Mail-Adresse überprüfen
Manchmal, wenn der Benutzer ein Formular ausfüllt Geben Sie möglicherweise eine falsche E-Mail-Adresse ein. Diese Funktion kann überprüfen, ob die E-Mail-Adresse gültig ist.

function is_validemail($email)
{$check = 0;if(filter_var($email,FILTER_VALIDATE_EMAIL))
{$check = 1;
}return $check;
}
Nach dem Login kopieren

Syntax:

<?php$email = "blog@koonk.com";$check = is_validemail($email);echo $check;// If the output is 1, then email is valid.?>
Nach dem Login kopieren


10. Holen Sie sich die echte IP des Benutzers

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;  
}
Nach dem Login kopieren

Syntax:

<?php$ip = getRealIpAddr();echo $ip;?>
Nach dem Login kopieren

Verwandte Empfehlungen:

So senden Sie den Bestätigungscode für den SMS-Dienst von Alibaba Cloud PHP SMS

Verwenden Sie einen PHP-Server um die Weiterleitung von SMS-Nachrichten abzuschließen

php Beispielcode zum Senden von SMS_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP implementiert Funktionscode zum Versenden von SMS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage