Heim  >  Artikel  >  Backend-Entwicklung  >  46 sehr nützliche PHP-Code-Snippets (1)

46 sehr nützliche PHP-Code-Snippets (1)

黄舟
黄舟Original
2016-12-21 09:14:061477Durchsuche

Es ist immer gut, beim Schreiben von Code ein magisches Werkzeug zu haben! Hier ist eine Sammlung von über 40 PHP-Codefragmenten, die Sie bei der Entwicklung von PHP-Projekten unterstützen.

Diese PHP-Snippets sind auch für PHP-Anfänger sehr hilfreich und sehr einfach zu erlernen~

SMS senden

Beim Arbeiten Web- oder Mobilanwendungen entwickeln stoßen wir oft auf die Notwendigkeit, SMS an Benutzer zu 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.

[Code]php-Code:

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 verification
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  
  
//get response
$output = curl_exec($ch);
//Print error if any
if(curl_errno($ch))
{
    echo 'error:' . curl_error($ch);
}
  
curl_close($ch);
}

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

Syntax:

e1b0111affb0236716bf7a07bfa48dc7

2. Verwenden Sie Mandrill zum Senden 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.

[Code]php code:

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'; //geben Sie hier Ihren API-Schlüssel an"Hier müssen Sie Ihren API-Schlüssel angeben (von Ihrem Mandrill-Konto). ).

Syntax:

419971d16df7e92d5665ad51b8d6c91f

Um die besten Ergebnisse zu erzielen, folgen 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 . Mit dem folgenden Code können Sie diese Tools verhindern: >$text = "3f1c4e4b6b16bbbd69b2ee476dc4f83aalert(1)2cacc6d41bbb37262a98f745aa00fbf0";

$text = clean($text);

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;
}
echo $text;

?>

4. Benutzerstandort ermitteln

Verwenden Sie die folgende Funktion, um die Stadt zu ermitteln, von der aus der Benutzer Ihre Website besucht

[Code]php-Code:

Syntax:

695bc6219b18681d05ddfe4387bbd7f4

5 der Quellcode der Webseite

Verwenden Sie die folgende Funktion, Sie können den HTML-Code jeder Webseite abrufen

[Code]PHP-Code:

Syntax:

8aabfbae48637d1fa225c546bf00946b

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

[Code]php-Code:

Syntax:

< ;?php

$page = "koonktechnologies";

$count = fb_fan_count($page);

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

?>

7. Bestimmen Sie die dominante Farbe eines Bildes

[code]php-Code:

8. Whois-Abfrage

Verwenden Sie die folgende Funktion. Erhalten Sie vollständige Details zu jedem Domain-Benutzer

[Code]PHP-Code:

Syntax:
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);
}</imagesx($i);$x++)>

37729cfd4ee272b4058a6449c87bf03c

9. E-Mail-Adresse überprüfen

Manchmal gibt der Benutzer beim Ausfüllen eines Formulars auf einer Website möglicherweise eine falsche Eingabe ein E-Mail-Adresse Diese Funktion kann überprüfen, ob die E-Mail-Adresse gültig ist.

[Code]php-Code:

Syntax:

19fce1c8e0cae6b27a504bb71e5fd378

10. 获取用户的真实  IP

[代码]php代码:

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;  
}

语法:

9c089c1b032d5d3e8774c3b562b7d772

11. 转换 URL:从字符串变成超链接

如果你正在开发论坛,博客或者是一个常规的表单提交,很多时候都要用户访问一个网站。使用这个函数,URL 字符串就可以自动的转换为超链接。

[代码]php代码:

function makeClickableLinks($text) 
{  
 $text = eregi_replace(&#39;(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)&#39;,  
 &#39;<a href="\1">\1</a>&#39;, $text);  
 $text = eregi_replace(&#39;([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)&#39;,  
 &#39;\1<a href="http://\2">\2</a>&#39;, $text);  
 $text = eregi_replace(&#39;([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})&#39;,  
 &#39;<a href="mailto:\1">\1</a>&#39;, $text);  
   
return $text;

语法:

794adf657d97aff47bc7927f295b5895

12. 阻止多个 IP 访问你的网站

这个代码片段可以方便你禁止某些特定的 IP 地址访问你的网站

[代码]php代码:

if ( !file_exists(&#39;blocked_ips.txt&#39;) ) {
 $deny_ips = array(
  &#39;127.0.0.1&#39;,
  &#39;192.168.1.1&#39;,
  &#39;83.76.27.9&#39;,
  &#39;192.168.1.163&#39;
 );
} else {
 $deny_ips = file(&#39;blocked_ips.txt&#39;);
}
// read user ip adress:
$ip = isset($_SERVER[&#39;REMOTE_ADDR&#39;]) ? trim($_SERVER[&#39;REMOTE_ADDR&#39;]) : &#39;&#39;;
  
// search current IP in $deny_ips array
if ( (array_search($ip, $deny_ips))!== FALSE ) {
 // address is blocked:
 echo &#39;Your IP adress (&#39;.$ip.&#39;) was blocked!&#39;;
 exit;
}

13. 强制性文件下载

如果你需要下载特定的文件而不用另开新窗口,下面的代码片段可以帮助你。

[代码]php代码:

function force_download($file) 
{ 
    $dir      = "../log/exports/"; 
    if ((isset($file))&&(file_exists($dir.$file))) { 
       header("Content-type: application/force-download"); 
       header(&#39;Content-Disposition: inline; filename="&#39; . $dir.$file . &#39;"&#39;); 
       header("Content-Transfer-Encoding: Binary"); 
       header("Content-length: ".filesize($dir.$file)); 
       header(&#39;Content-Type: application/octet-stream&#39;); 
       header(&#39;Content-Disposition: attachment; filename="&#39; . $file . &#39;"&#39;); 
       readfile("$dir$file"); 
    } else { 
       echo "No file selected"; 
    } 
}

语法:

3a8cb7f761becb9db2e161aa2a765c61

14. 创建 JSON 数据

使用下面的 PHP 片段可以创建 JSON 数据,可以方便你创建移动应用的 Web 服务

$json_data = array ('id'=>1,'name'=>"Mohit");

echo json_encode($json_data);

15. 压缩 zip 文件

使用下面的 PHP 片段可以即时压缩 zip 文件

[代码]php代码:

function create_zip($files = array(),$destination = &#39;&#39;,$overwrite = false) {  
    //if the zip file already exists and overwrite is false, return false  
    if(file_exists($destination) && !$overwrite) { return false; }  
    //vars  
    $valid_files = array();  
    //if files were passed in...  
    if(is_array($files)) {  
        //cycle through each file  
        foreach($files as $file) {  
            //make sure the file exists  
            if(file_exists($file)) {  
                $valid_files[] = $file;  
            }  
        }  
    }  
    //if we have good files...  
    if(count($valid_files)) {  
        //create the archive  
        $zip = new ZipArchive();  
        if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {  
            return false;  
        }  
        //add the files  
        foreach($valid_files as $file) {  
            $zip->addFile($file,$file);  
        }  
        //debug  
        //echo &#39;The zip archive contains &#39;,$zip->numFiles,&#39; files with a status of &#39;,$zip->status;  
           
        //close the zip -- done!  
        $zip->close();  
           
        //check to make sure the file exists  
        return file_exists($destination);  
    }  
    else  
    {  
        return false;  
    }  
}

语法:

3cb669f4efda051f9550154fbe08f9f1

 以上就是46 个非常有用的 PHP 代码片段(一)的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Stellungnahme:
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