Zusammenfassung und Anordnung super praktischer PHP-Funktionen

伊谢尔伦
Freigeben: 2016-11-26 16:11:26
Original
962 Leute haben es durchsucht

1. PHP-Verschlüsselung und -Entschlüsselung

PHP-Verschlüsselungs- und -Entschlüsselungsfunktionen können verwendet werden, um einige nützliche Zeichenfolgen zu verschlüsseln und in der Datenbank zu speichern und die Zeichenfolgen reversibel zu entschlüsseln . .

function encryptDecrypt($key, $string, $decrypt){ 
    if($decrypt){ 
        $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); 
        return $decrypted; 
    }else{ 
        $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); 
        return $encrypted; 
    } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

//以下是将字符串“Helloweba欢迎您”分别加密和解密 
//加密: 
echo encryptDecrypt('password', 'Helloweba欢迎您',0); 
//解密: 
echo encryptDecrypt('password', 'z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1);
Nach dem Login kopieren

2. PHP generiert eine zufällige Zeichenfolge

Wenn wir einen zufälligen Namen und ein temporäres Passwort generieren müssen und andere Zeichenfolgen können wir die folgende Funktion verwenden:

function generateRandomString($length = 10) { 
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
    $randomString = ''; 
    for ($i = 0; $i < $length; $i++) { 
        $randomString .= $characters[rand(0, strlen($characters) - 1)]; 
    } 
    return $randomString; 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

echo generateRandomString(20);
Nach dem Login kopieren

3. PHP erhält die Dateierweiterung (Suffix)

Die folgenden Funktionen können die Datei schnell abrufen. Die Erweiterung ist das Suffix.

function getExtension($filename){ 
  $myext = substr($filename, strrpos($filename, &#39;.&#39;)); 
  return str_replace(&#39;.&#39;,&#39;&#39;,$myext); 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

$filename = &#39;我的文档.doc&#39;; 
echo getExtension($filename);
Nach dem Login kopieren

4. PHP ruft die Dateigröße ab und formatiert sie

Die unten verwendete Funktion kann die Dateigröße ermitteln und konvertieren Sie es in leicht lesbare KB-, MB- und andere Formate.

function formatSize($size) { 
    $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); 
    if ($size == 0) {  
        return(&#39;n/a&#39;);  
    } else { 
      return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);  
    } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

$thefile = filesize(&#39;test_file.mp3&#39;); 
echo formatSize($thefile);
Nach dem Login kopieren

5. PHP ersetzt Tag-Zeichen

Manchmal müssen wir Zeichenfolgen und Vorlagen-Tags durch bestimmte Inhalte ersetzen. Sie können die folgende Funktion verwenden:

function stringParser($string,$replacer){ 
    $result = str_replace(array_keys($replacer), array_values($replacer),$string); 
    return $result; 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

$string = &#39;The {b}anchor text{/b} is the {b}actual word{/b} or words used {br}to describe the link {br}itself&#39;; 
$replace_array = array(&#39;{b}&#39; => &#39;<b>&#39;,&#39;{/b}&#39; => &#39;</b>&#39;,&#39;{br}&#39; => &#39;<br />&#39;); 
echo stringParser($string,$replace_array);
Nach dem Login kopieren

6. PHP listet die Dateinamen im Verzeichnis auf

Wenn Sie möchten das Verzeichnis für alle Dateien darunter auflisten:

function listDirFiles($DirPath){ 
    if($dir = opendir($DirPath)){ 
         while(($file = readdir($dir))!== false){ 
                if(!is_dir($DirPath.$file)) 
                { 
                    echo "filename: $file<br />"; 
                } 
         } 
    } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

listDirFiles(&#39;home/some_folder/&#39;);
Nach dem Login kopieren

7. PHP ruft die aktuelle Seiten-URL ab

Die folgende Funktion kann die URL der aktuellen Seite abrufen, egal ob http oder https.

function curPageURL() { 
    $pageURL = &#39;http&#39;; 
    if (!empty($_SERVER[&#39;HTTPS&#39;])) {$pageURL .= "s";} 
    $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") { 
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
    } else { 
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

echo curPageURL();
Nach dem Login kopieren

8. PHP erzwingt das Herunterladen von Dateien

Manchmal möchten wir nicht, dass der Browser Dateien direkt öffnet B. PDF-Dateien, aber um die Datei direkt herunterzuladen, kann die folgende Funktion das Herunterladen der Datei erzwingen. Der Headertyp application/octet-stream wird in der Funktion verwendet.

function download($filename){ 
    if ((isset($filename))&&(file_exists($filename))){ 
       header("Content-length: ".filesize($filename)); 
       header(&#39;Content-Type: application/octet-stream&#39;); 
       header(&#39;Content-Disposition: attachment; filename="&#39; . $filename . &#39;"&#39;); 
       readfile("$filename"); 
    } else { 
       echo "Looks like file does not exist!"; 
    } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

download(&#39;/down/test_45f73e852.zip&#39;);
Nach dem Login kopieren

9. PHP fängt die Länge einer Zeichenfolge ab

Wir stoßen oft auf die Notwendigkeit, die Länge von abzufangen Eine Zeichenfolge (einschließlich chinesischer Zeichen). Beispielsweise darf die Titelanzeige die Anzahl der Zeichen nicht überschreiten, und die Überlänge wird durch ... ausgedrückt. Die folgende Funktion kann Ihren Anforderungen entsprechen.

/* 
 Utf-8、gb2312都支持的汉字截取函数 
 cut_str(字符串, 截取长度, 开始长度, 编码); 
 编码默认为 utf-8 
 开始长度默认为 0 
*/ 
function cutStr($string, $sublen, $start = 0, $code = &#39;UTF-8&#39;){ 
    if($code == &#39;UTF-8&#39;){ 
        $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; 
        preg_match_all($pa, $string, $t_string); 
        if(count($t_string[0]) - $start > $sublen) return join(&#39;&#39;, array_slice($t_string[0], $start, $sublen))."..."; 
        return join(&#39;&#39;, array_slice($t_string[0], $start, $sublen)); 
    }else{ 
        $start = $start*2; 
        $sublen = $sublen*2; 
        $strlen = strlen($string); 
        $tmpstr = &#39;&#39;; 
        for($i=0; $i<$strlen; $i++){ 
            if($i>=$start && $i<($start+$sublen)){ 
                if(ord(substr($string, $i, 1))>129){ 
                    $tmpstr.= substr($string, $i, 2); 
                }else{ 
                    $tmpstr.= substr($string, $i, 1); 
                } 
            } 
            if(ord(substr($string, $i, 1))>129) $i++; 
        } 
        if(strlen($tmpstr)<$strlen ) $tmpstr.= "..."; 
        return $tmpstr; 
    } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

$str = "jQuery插件实现的加载图片和页面效果"; 
echo cutStr($str,16);
Nach dem Login kopieren

10. Holen Sie sich die echte IP des Clients mit PHP

Wir verwenden häufig die Datenbank, um die IP des Benutzers aufzuzeichnen . Der folgende Code kann die tatsächliche IP des Clients erhalten:

//获取用户真实IP 
function getIp() { 
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
        $ip = getenv("HTTP_CLIENT_IP"); 
    else 
        if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
            $ip = getenv("HTTP_X_FORWARDED_FOR"); 
        else 
            if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
                $ip = getenv("REMOTE_ADDR"); 
            else 
                if (isset ($_SERVER[&#39;REMOTE_ADDR&#39;]) && $_SERVER[&#39;REMOTE_ADDR&#39;] && strcasecmp($_SERVER[&#39;REMOTE_ADDR&#39;], "unknown")) 
                    $ip = $_SERVER[&#39;REMOTE_ADDR&#39;]; 
                else 
                    $ip = "unknown"; 
    return ($ip); 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

echo getIp();
Nach dem Login kopieren

11. PHP verhindert SQL-Injection

Wenn wir die Datenbank abfragen, müssen aus Sicherheitsgründen einige illegale Zeichen gefiltert werden, um eine bösartige SQL-Injection zu verhindern. Bitte sehen Sie sich die Funktion an:

function injCheck($sql_str) {  
    $check = preg_match(&#39;/select|insert|update|delete|\&#39;|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/&#39;, $sql_str); 
    if ($check) { 
        echo &#39;非法字符!!&#39;; 
        exit; 
    } else { 
        return $sql_str; 
    } 
}
Nach dem Login kopieren

Die Verwendung ist wie folgt:

echo injCheck(&#39;1 or 1=1&#39;);
Nach dem Login kopieren

12. PHP-Seitenaufforderungen und -sprünge

Wenn wir Formularoperationen durchführen, müssen wir den Benutzer aus Gründen der Benutzerfreundlichkeit manchmal nach den Operationsergebnissen fragen die folgende Funktion:

function message($msgTitle,$message,$jumpUrl){ 
    $str = &#39;<!DOCTYPE HTML>&#39;; 
    $str .= &#39;<html>&#39;; 
    $str .= &#39;<head>&#39;; 
    $str .= &#39;<meta charset="utf-8">&#39;; 
    $str .= &#39;<title>页面提示</title>&#39;; 
    $str .= &#39;<style type="text/css">&#39;; 
    $str .= &#39;*{margin:0; padding:0}a{color:#369; text-decoration:none;}a:hover{text-decoration:underline}body{height:100%; font:12px/18px Tahoma, Arial,  sans-serif; color:#424242; background:#fff}.message{width:450px; height:120px; margin:16% auto; border:1px solid #99b1c4; background:#ecf7fb}.message h3{height:28px; line-height:28px; background:#2c91c6; text-align:center; color:#fff; font-size:14px}.msg_txt{padding:10px; margin-top:8px}.msg_txt h4{line-height:26px; font-size:14px}.msg_txt h4.red{color:#f30}.msg_txt p{line-height:22px}&#39;; 
    $str .= &#39;</style>&#39;; 
    $str .= &#39;</head>&#39;; 
    $str .= &#39;<body>&#39;; 
    $str .= &#39;<div>&#39;; 
    $str .= &#39;<h3>&#39;.$msgTitle.&#39;</h3>&#39;; 
    $str .= &#39;<div>&#39;; 
    $str .= &#39;<h4>&#39;.$message.&#39;</h4>&#39;; 
    $str .= &#39;<p>系统将在 <span style="color:blue;font-weight:bold">3</span> 秒后自动跳转,如果不想等待,直接点击 <a href="{$jumpUrl}">这里</a> 跳转</p>&#39;; 
    $str .= "<script>setTimeout(&#39;location.replace(\&#39;".$jumpUrl."\&#39;)&#39;,2000)</script>"; 
    $str .= &#39;</div>&#39;; 
    $str .= &#39;</div>&#39;; 
    $str .= &#39;</body>&#39;; 
    $str .= &#39;</html>&#39;; 
    echo $str; 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

message(&#39;操作提示&#39;,&#39;操作成功!&#39;,&#39;http://www.helloweba.com/&#39;);
Nach dem Login kopieren

13. PHP-Berechnungszeit

Bei der Verarbeitungszeit müssen wir die Zeit berechnen zwischen der aktuellen Zeit und einem bestimmten Zeitpunkt. Bei der Berechnung der Client-Laufzeit wird sie beispielsweise normalerweise durch hh:mm:ss ausgedrückt.

function changeTimeType($seconds) { 
    if ($seconds > 3600) { 
        $hours = intval($seconds / 3600); 
        $minutes = $seconds % 3600; 
        $time = $hours . ":" . gmstrftime(&#39;%M:%S&#39;, $minutes); 
    } else { 
        $time = gmstrftime(&#39;%H:%M:%S&#39;, $seconds); 
    } 
    return $time; 
}
Nach dem Login kopieren

Die Anwendung ist wie folgt:

$seconds = 3712; 
echo changeTimeType($seconds);
Nach dem Login kopieren


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