> 백엔드 개발 > PHP 튜토리얼 > 일반적인 PHP 함수_php 기술에 대한 매우 실용적인 요약

일반적인 PHP 함수_php 기술에 대한 매우 실용적인 요약

WBOY
풀어 주다: 2016-05-16 20:28:20
원래의
942명이 탐색했습니다.

이 문서의 예제에는 PHP 애플리케이션 개발에 일반적으로 사용되는 일부 기능이 요약되어 있습니다. 이러한 기능에는 참조용으로 공유되는 문자 작업, 파일 작업 및 기타 작업이 포함됩니다. 세부 내용은 다음과 같습니다.

1. PHP 암호화 및 복호화

PHP 암호화 및 복호화 기능을 사용하면 일부 유용한 문자열을 암호화하여 데이터베이스에 저장할 수 있으며, 이 기능은 base64 및 MD5 암호화 및 복호화를 사용합니다.

코드 복사 코드는 다음과 같습니다.
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");           $decrypted 반환
}그밖에{
          $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))))
          $암호화 반환
}
}
사용방법:

코드 복사 코드는 다음과 같습니다.
//다음은 "Helloweba Welcomes you"라는 문자열을 암호화하고 복호화하는 것입니다. " 각각
//암호화:
echo encryptDecrypt('password', 'Helloweba가 여러분을 환영합니다',0); //복호화:
echo encryptDecrypt('password', 'z0JAx4qMwcF db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=',1);

2. PHP는 임의의 문자열을 생성합니다
임의의 이름, 임시 비밀번호 및 기타 문자열을 생성해야 하는 경우 다음 기능을 사용할 수 있습니다.


코드 복사 코드는 다음과 같습니다.function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
$randomString = ''
for ($i = 0; $i < $length; $i ) {
$randomString .= $characters[rand(0, strlen($characters) - 1)]
}
$randomString 반환
}

사용방법:


코드 복사 코드는 다음과 같습니다.echo generateRandomString(20);
3. PHP는 파일 확장자(접미사)를 가져옵니다.
다음 함수를 사용하면 파일 확장자나 접미사를 빠르게 얻을 수 있습니다.


코드 복사 코드는 다음과 같습니다.function getExtension($filename){
$myext = substr($filename, strrpos($filename, '.'))
Return str_replace('.','',$myext); }

사용방법:


코드 복사 코드는 다음과 같습니다.$filename = 'My Documents.doc' echo getExtension($filename);

4. PHP가 파일 크기를 가져와서 형식을 지정합니다.

아래에 사용된 함수를 사용하면 파일 크기를 가져와 읽기 쉬운 KB, MB 및 기타 형식으로 변환할 수 있습니다.


코드 복사 코드는 다음과 같습니다.function formatSize($size) { $sizes = array(" 바이트", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB")
If ($size == 0) {
         반품('해당 없음')
} 다른 {
(round($size/pow(1024, ($i = Floor(log($size, 1024))))), $sizes[$i]); }
}

사용방법:



코드 복사
코드는 다음과 같습니다.
$thefile = 파일 크기('test_file.mp3')
echo formatSize($thefile);

5. PHP는 태그 문자를 대체합니다.

때때로 문자열과 템플릿 태그를 지정된 콘텐츠로 바꿔야 하는 경우 다음 기능을 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
function stringParser($string,$replacer){
$result = str_replace(array_keys($replacer), array_values($replacer),$string)
$결과 반환
}

사용방법:
코드 복사 코드는 다음과 같습니다.
$string = '{b}앵커 텍스트{/b}는 {b }실제 단어{/b} 또는 링크를 설명하기 위해 {br}사용된 단어 {br}
$replace_array = array('{b}' => '','{/b}' => '','{br}' => '
')

echo stringParser($string,$replace_array);

6. PHP는 디렉토리에 파일 이름을 나열합니다.

디렉터리의 모든 파일을 나열하려면 다음 코드를 사용하세요.

코드 복사 코드는 다음과 같습니다.
function listDirFiles($DirPath){
If($dir = opendir($DirPath)){
​​​​​while(($file = readdir($dir))!== false){
If(!is_dir($DirPath.$file))
~ echo "파일 이름: $file
"; ~            }
}
}

사용방법:


코드 복사 코드는 다음과 같습니다.listDirFiles('home/some_folder/');
7. PHP가 현재 페이지 URL을 가져옵니다

다음 함수는 http인지 https인지 현재 페이지의 URL을 가져올 수 있습니다.


코드 복사 코드는 다음과 같습니다.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"]
} 다른 {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]
}
$pageURL 반환
}

사용방법:


코드 복사 코드는 다음과 같습니다.echo curPageURL();
8. PHP 강제 파일 다운로드

때때로 브라우저가 PDF 파일과 같은 파일을 직접 열지 않고 파일을 직접 다운로드하기를 원하는 경우 다음 기능을 사용하여 파일을 강제로 다운로드할 수 있습니다. application/octet-stream 헤더 유형. 함수에 사용됩니다.


코드 복사 코드는 다음과 같습니다.
기능 다운로드($filename){
If ((isset($filename))&&(file_exists($filename))){
header("콘텐츠 길이: ".filesize($filename))
header('콘텐츠 유형: 애플리케이션/옥텟-스트림')
header('콘텐츠 처리: attachment; filename="' . $filename . '"');         readfile("$filename")
} 다른 {
echo "파일이 없는 것 같습니다!"; }
}

사용방법:


코드 복사 코드는 다음과 같습니다.download('/down/test_45f73e852.zip');
9. PHP가 문자열 길이를 가로챕니다
문자열(한자 포함)의 길이를 가로채야 하는 상황이 종종 발생합니다. 예를 들어, 제목은 몇 글자 이상을 표시할 수 없습니다.... 다음 함수는 다음과 같습니다. 귀하의 요구를 충족하십시오.


Utf-8 및 gb2312에서 지원되는 한자 가로채기 기능
cut_str(문자열, 절단 길이, 시작 길이, 인코딩)
인코딩 기본값은 utf-8
기본 시작 길이는 0입니다.
*/
함수 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))
}그밖에{
           $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.= "..."
          $tmpstr 반환
}
}

사용방법:


코드 복사 코드는 다음과 같습니다. $str = "jQuery 플러그인으로 구현한 이미지 및 페이지 효과 로딩 "; echo cutStr($str,16);

10. PHP가 클라이언트의 실제 IP를 가져옵니다

우리는 종종 사용자의 IP를 기록하기 위해 데이터베이스를 사용합니다. 다음 코드는 클라이언트의 실제 IP를 얻을 수 있습니다.


코드 복사 코드는 다음과 같습니다.
//获取사용户真实IP
함수 getIp() {
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "알 수 없음"))
        $ip = getenv("HTTP_CLIENT_IP");
    그렇지 않으면
        if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "알 수 없음"))
            $ip = getenv("HTTP_X_FORWARDED_FOR");
        그렇지 않으면
            if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "알 수 없음"))
                $ip = getenv("REMOTE_ADDR");
            그렇지 않으면
                if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "알 수 없음"))
                    $ip = $_SERVER['REMOTE_ADDR'];
                그렇지 않으면
                    $ip = "알 수 없음";
    반환($ip);
}

使사용방법如下:
复제대码 代码如下:
echo getIp();

11、PHP防止SQL注入

<…


复aze代码 代码如下:function injCheck($sql_str) { 
    $check = preg_match('/select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile/', $sql_str);
    if ($check) {
        echo '비법적 표현!!';
        출구;
    } 다른 {
        $sql_str을 반환합니다;
    }
}

使사용방법如下:


复aze代码 代码如下:echo injCheck('1 or 1=1');
12、PHP页면提示与跳转
저희는 여기에서 进行表单操작품을 만들고 있습니다.


复代码 代码如下:
함수 메시지($msgTitle,$message,$jumpUrl){
    $str = '';
    $str .= '';
    $str .= '<머리>';
    $str .= '';
    $str .= '마운트 화면';
    $str .= '