Heim >Web-Frontend >js-Tutorial >13 superpraktische PHP-Funktionen, welche kennen Sie?

13 superpraktische PHP-Funktionen, welche kennen Sie?

PHPz
PHPznach vorne
2016-05-16 15:35:502431Durchsuche

In diesem Artikel stellen wir Ihnen 13 superpraktische PHP-Funktionen vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

13 superpraktische PHP-Funktionen, welche kennen Sie?

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 zu speichern Die Datenbank und durch reversibles Entschlüsseln der Zeichenfolge verwendet diese Funktion Base64- und MD5-Verschlüsselung und -Entschlüsselung.

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

Die Verwendungsmethode ist wie folgt:

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

2. PHP generiert eine zufällige Zeichenfolge

Wenn wir eine generieren müssen zufälliger Name, vorübergehend Die folgende Funktion kann bei der Eingabe von Zeichenfolgen wie Passwörtern verwendet werden:

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

Die Verwendungsmethode ist wie folgt:

echo generateRandomString(20);

3. PHP erhält die Dateierweiterung (Suffix)

Die folgende Funktion kann schnell die Dateierweiterung oder das Suffix ermitteln.

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

Die Verwendungsmethode ist wie folgt:

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

4. PHP erhält die Dateigröße und -formate

unten Die verwendete Funktion kann die Größe der Datei ermitteln und sie in leicht lesbare KB-, MB- und andere Formate konvertieren.

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

wird wie folgt verwendet:

$thefile = filesize(&#39;test_file.mp3&#39;); 
echo formatSize($thefile);

5. PHP ersetzt Tag-Zeichen

Manchmal brauchen wir Um Zeichenfolgen und Vorlagen-Tags durch bestimmte Inhalte zu ersetzen, können Sie die folgende Funktion verwenden:

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

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

6. PHP-Listen das Verzeichnis Der Dateiname ist

Wenn Sie alle Dateien im Verzeichnis auflisten möchten, verwenden Sie den folgenden Code:

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

Die Verwendung ist wie folgt:

 listDirFiles(&#39;home/some_folder/&#39;);

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

Die Verwendungsmethode ist wie folgt:

 echo curPageURL();

8. PHP erzwingt das Herunterladen von Dateien

Manchmal Wir möchten nicht, dass der Browser eine Datei wie eine PDF-Datei direkt öffnet, die Datei aber direkt herunterladen möchte. Die folgende Funktion kann das Herunterladen der Datei erzwingen. Der Header-Typ application/octet-stream wird verwendet die Funktion.

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

Die Verwendungsmethode ist wie folgt:

 download(&#39;/down/test_45f73e852.zip&#39;);

9. PHP fängt die Zeichenfolgenlänge ab

Wenn wir häufig auf eine Situation stoßen, in der Sie beispielsweise die Länge einer Zeichenfolge (einschließlich chinesischer Zeichen) abfangen müssen, kann der Titel nicht mehr als ein paar Zeichen anzeigen und die überschüssige Länge wird durch ... dargestellt, die folgende Funktion kann Ihre Bedürfnisse erfüllen.

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

Die Verwendungsmethode ist wie folgt:

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

10. PHP erhält die echte IP des Clients

Um die IP des Benutzers häufig in der Datenbank aufzuzeichnen, kann der folgende Code die tatsächliche IP des Clients abrufen:

//获取用户真实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); 
}

Die Verwendung ist wie folgt:

 echo getIp();

11, PHP verhindert SQL-Injection

Wenn wir die Datenbank abfragen, müssen wir aus Sicherheitsgründen einige illegale Zeichen filtern, um böswillige SQL-Injection zu verhindern. Bitte a Schauen 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; 
  } 
}

Verwenden Sie die Methode wie folgt:

echo injCheck(&#39;1 or 1=1&#39;);

12. PHP-Seitenaufforderungen und -sprünge

Wenn wir Formularvorgänge ausführen, benötigen wir aus Gründen der Benutzerfreundlichkeit manchmal Eingabeaufforderungen. Der Benutzer bedient die Ergebnisse und springt zur entsprechenden Seite. Bitte beachten Sie 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; 
}

Die Verwendungsmethode ist wie folgt:

message(&#39;操作提示&#39;,&#39;操作成功!&#39;,&#39;http://www.php.cn&#39;);

13. PHP-Berechnungszeit

Wenn wir Zeit verarbeiten, müssen wir die Zeitspanne ab der aktuellen Zeit berechnen B. bis zu einem bestimmten Zeitpunkt, wird die Berechnung der Laufzeit des Clients normalerweise durch hh:mm:ss dargestellt.

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

Die Verwendungsmethode ist wie folgt:

$seconds = 3712; 
echo changeTimeType($seconds);

Empfohlenes Lernen: „PHP-Video-Tutorial

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen