PHP는 SMS 전송을 위한 함수 코드를 구현합니다.

小云云
풀어 주다: 2023-03-20 13:38:02
원래의
2404명이 탐색했습니다.

웹 또는 모바일 애플리케이션을 개발할 때 로그인 이유나 정보 전송을 위해 사용자에게 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 &#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 账户中获得)。
로그인 후 복사

구문:

<?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, &#39;UTF-8&#39;);
    }// return the clean text
    return $output;
로그인 후 복사

}
구문:

<?php$text = "<script>alert(1)</script>";$text = clean($text);echo $text;?>
로그인 후 복사


4. 사용자 위치 감지
다음 기능을 사용하여 사용자가 웹사이트를 방문하는 도시를 감지하세요.

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; 
        }
        
    }
로그인 후 복사

구문:

<?php$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];$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(&#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;
}
로그인 후 복사

구문:


<?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[&#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;  
}
로그인 후 복사

구문:


<?php$ip = getRealIpAddr();echo $ip;?>
로그인 후 복사
관련 권장 사항:

Alibaba Cloud PHP SMS SMS 확인 코드를 보내는 방법

PHP 사용 서버가 SMS 메시지 전달을 완료합니다

php SMS 예제 코드 보내기_PHP 튜토리얼

위 내용은 PHP는 SMS 전송을 위한 함수 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!