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

13 superpraktische PHP-Funktionen, welche kennen Sie?

PHPz
Freigeben: 2021-05-31 11:43:47
nach vorne
2456 Leute haben es durchsucht

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

Die Verwendungsmethode ist wie folgt:

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

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

Die Verwendungsmethode ist wie folgt:

echo generateRandomString(20);
Nach dem Login kopieren

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

Die Verwendungsmethode ist wie folgt:

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

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

wird wie folgt verwendet:

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

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

Die Verwendung 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 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!"; 
  } 
}
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 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; 
  } 
}
Nach dem Login kopieren

Die Verwendungsmethode ist wie folgt:

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

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

Die Verwendung ist wie folgt:

 echo getIp();
Nach dem Login kopieren

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

Verwenden Sie die Methode wie folgt:

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

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

Die Verwendungsmethode ist wie folgt:

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

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

Die Verwendungsmethode ist wie folgt:

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

Empfohlenes Lernen: „PHP-Video-Tutorial

Verwandte Etiketten:
Quelle:jb51.net
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