Home > Backend Development > PHP Tutorial > [Transfer] Summary and arrangement of super practical PHP functions, summary of practical PHP functions_PHP tutorial

[Transfer] Summary and arrangement of super practical PHP functions, summary of practical PHP functions_PHP tutorial

WBOY
Release: 2016-07-13 10:12:22
Original
745 people have browsed it

[Transfer] Summary of super practical PHP functions, summary of practical PHP functions

Original link: http://www.codeceo.com/article/php-function.html

1. PHP encryption and decryption

PHP encryption and decryption functions can be used to encrypt some useful strings stored in the database, and reversibly decrypt the strings. This function uses base64 and MD5 encryption and decryption.

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; 
    } 
}
Copy after login

How to use it:

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

2. PHP generates random strings

When we need to generate a random name, temporary password and other strings, we can use the following function:

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

How to use it:

echo generateRandomString(20);
Copy after login

3. PHP gets the file extension (suffix)

The following function can quickly obtain the file extension or suffix.

function getExtension($filename){ 
  $myext = substr($filename, strrpos($filename, '.')); 
  return str_replace('.','',$myext); 
}
Copy after login

How to use it:

$filename = '我的文档.doc'; 
echo getExtension($filename);
Copy after login

4. PHP gets the file size and formats it

The function used below can get the size of the file and convert it into easy-to-read KB, MB and other formats.

function formatSize($size) { 
    $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); 
    if ($size == 0) {  
        return('n/a');  
    } else { 
      return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);  
    } 
}
Copy after login

How to use it:

$thefile = filesize('test_file.mp3'); 
echo formatSize($thefile);
Copy after login

5. PHP replace tag characters

Sometimes we need to replace strings and template tags with specified content. You can use the following function:

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

How to use it:

$string = 'The {b}anchor text{/b} is the {b}actual word{/b} or words used {br}to describe the link {br}itself'; 
$replace_array = array('{b}' => '<b>','{/b}' => '</b>','{br}' => '<br />'); 

echo stringParser($string,$replace_array);
Copy after login

6. PHP lists the file names in the directory

If you want to list all files in a directory, use the following code:

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

How to use it:

listDirFiles('home/some_folder/');
Copy after login

7. PHP gets the current page URL

The following function can get the URL of the current page, whether it is http or https.

function curPageURL() { 
    $pageURL = 'http'; 
    if (!empty($_SERVER['HTTPS'])) {$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; 
}
Copy after login

How to use it:

echo curPageURL();
Copy after login

8. PHP forces file download

Sometimes we don’t want the browser to directly open a file, such as a PDF file, but to download the file directly, then the following function can force the file to be downloaded. The application/octet-stream header type is used in the function.

function download($filename){ 
    if ((isset($filename))&&(file_exists($filename))){ 
       header("Content-length: ".filesize($filename)); 
       header('Content-Type: application/octet-stream'); 
       header('Content-Disposition: attachment; filename="' . $filename . '"'); 
       readfile("$filename"); 
    } else { 
       echo "Looks like file does not exist!"; 
    } 
}
Copy after login

How to use it:

download('/down/test_45f73e852.zip');
Copy after login

9. PHP intercepts string length

We often encounter situations where we need to intercept the length of a string (including Chinese characters). For example, the title cannot display more than a few characters. The excess length is represented by.... The following function can meet your needs.

/* 
 Utf-8、gb2312都支持的汉字截取函数 
 cut_str(字符串, 截取长度, 开始长度, 编码); 
 编码默认为 utf-8 
 开始长度默认为 0 
*/ 
function cutStr($string, $sublen, $start = 0, $code = 'UTF-8'){ 
    if($code == 'UTF-8'){ 
        $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('', array_slice($t_string[0], $start, $sublen))."..."; 
        return join('', array_slice($t_string[0], $start, $sublen)); 
    }else{ 
        $start = $start*2; 
        $sublen = $sublen*2; 
        $strlen = strlen($string); 
        $tmpstr = ''; 

        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; 
    } 
}
Copy after login

How to use it:

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

10. PHP gets the real IP of the client

We often use a database to record the user’s IP. The following code can obtain the client’s real IP:

//获取用户真实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['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
                    $ip = $_SERVER['REMOTE_ADDR']; 
                else 
                    $ip = "unknown"; 
    return ($ip); 
}
Copy after login

How to use it:

echo getIp();
Copy after login

11. PHP prevents SQL injection

When we query the database, for security reasons, we need to filter some illegal characters to prevent malicious SQL injection. Please take a look at the function:

function injCheck($sql_str) {  
    $check = preg_match('/select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile/', $sql_str); 
    if ($check) { 
        echo '非法字符!!'; 
        exit; 
    } else { 
        return $sql_str; 
    } 
}
Copy after login

How to use it:

echo injCheck('1 or 1=1');
Copy after login

12. PHP page prompts and jumps

When we perform form operations, sometimes we need to prompt the user for the operation results and jump to the relevant page for the sake of friendliness. Please see the following function:

function message($msgTitle,$message,$jumpUrl){ 
    $str = '<!DOCTYPE HTML>'; 
    $str .= '<html>'; 
    $str .= '<head>'; 
    $str .= '<meta charset="utf-8">'; 
    $str .= '<title>页面提示</title>'; 
    $str .= '<style type="text/css">'; 
    $str .= '*{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}'; 
    $str .= '</style>'; 
    $str .= '</head>'; 
    $str .= '<body>'; 
    $str .= '<div>'; 
    $str .= '<h3>'.$msgTitle.'</h3>'; 
    $str .= '<div>'; 
    $str .= '<h4>'.$message.'</h4>'; 
    $str .= '<p>系统将在 <span>使用方法如下:</p>

<pre class="code">message('操作提示','操作成功!','http://www.helloweba.com/');
Copy after login

13. PHP calculation time

When we process time, we need to calculate the length of time from the current time to a certain point in time. For example, when calculating the running time of the client, it is usually expressed by hh:mm:ss.

function changeTimeType($seconds) { 
    if ($seconds > 3600) { 
        $hours = intval($seconds / 3600); 
        $minutes = $seconds % 3600; 
        $time = $hours . ":" . gmstrftime('%M:%S', $minutes); 
    } else { 
        $time = gmstrftime('%H:%M:%S', $seconds); 
    } 
    return $time; 
}
Copy after login

How to use it:

$seconds = 3712; 
echo changeTimeType($seconds);
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/923413.htmlTechArticle[Transfer] Summary and arrangement of super practical PHP functions, summary of practical PHP functions Original link: http://www.codeceo .com/article/php-function.html 1. PHP encryption and decryption PHP encryption and decryption functions can be used...
Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template