> 백엔드 개발 > PHP 튜토리얼 > PHP 기능(암호화 및 복호화, 임의 문자열, 문자열 길이 가로채기, 강제 다운로드 등)

PHP 기능(암호화 및 복호화, 임의 문자열, 문자열 길이 가로채기, 강제 다운로드 등)

WBOY
풀어 주다: 2016-07-25 08:51:33
원래의
1240명이 탐색했습니다.
  1. 함수 encryptdecrypt($key, $string, $decrypt){
  2. if($decrypt){
  3. $decrypted = rtrim(mcrypt_decrypt(mcrypt_rijndael_256, md5) ($key), base64_decode($string), mcrypt_mode_cbc, md5(md5($key))), "12")
  4. return $decrypted;
  5. }else{
  6. $encrypted = base64_encode(mcrypt_encrypt (mcrypt_rijndael_256, md5($key), $string, mcrypt_mode_cbc, md5(md5($key))));
  7. $암호화 반환
  8. }
코드 복사
사용법:

  1. //다음은 "helloweba Welcomes you" 문자열을 각각 암호화하고 복호화하는 것입니다.
  2. //암호화:
  3. echo encryptdecrypt('password ' , 'helloweba 환영합니다',0);
  4. //Decryption:
  5. echo encryptdecrypt('password', 'z0jax4qmwcf db5tnbp/xwdum84snrsxvvpxuaca4bk=',1);
코드 복사

2. PHP는 임의의 문자열을 생성합니다

임의의 이름, 임시 비밀번호 및 기타 문자열을 생성해야 하는 경우 다음 기능을 사용하세요. ($i = 0; $i < $length; $i ) {

$randomstring .= $characters[rand(0, strlen($characters) - 1)]

}
return $ 무작위 문자열
}
  1. 코드 복사
  2. 사용법:
echo generaterandomstring(20);
코드 복사

3.php 파일 확장자(접미사) 가져오기
    파일 확장자나 접미사를 빠르게 가져옵니다.
function getextension($filename){
$myext = substr($filename, strrpos($filename, '.'))

return str_replace('.','',$myext); }

코드 복사
  1. 사용법:
$filename = 'My Documents.doc'; echo getextension($filename);

코드 복사

    4. PHP가 파일 크기를 가져와서 형식을 지정합니다.
  1. 파일 크기를 확인하고 읽기 쉬운 kb, mb 및 기타 형식으로 변환하세요.
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))))), $sizes[$i])
}
}
  1. 코드 복사
  2. 사용법:
$thefile = filesize('test_file.mp3'); echo formatsize($thefile);

복사 코드

    5. PHP 태그 문자 바꾸기
  1. 문자열과 템플릿 태그를 지정된 콘텐츠, 함수로 바꿉니다.
function stringparser($string,$replacer){
$result = str_replace(array_keys($replacer), array_values($replacer),$string );

$result 반환

코드 복사

$string = '{b}앵커 텍스트{/b}는 {b}실제 단어{/b}입니다. 또는 링크 {br}자체를 설명하기 위해 사용된 단어 $replace_array = array('{b}' => '','{/b}' => '< ;/b>','{br}' => '
');

echo stringparser($string,$replace_array);

코드 복사
  1. 6. PHP는 디렉터리에 파일 이름을 나열합니다.
  2. 디렉토리의 모든 파일을 나열합니다.
function listdirfiles($dirpath){ if($dir = opendir($dirpath)){
while(($file = readdir ($dir))!== false){

if(!is_dir($dirpath.$file)) { echo "파일 이름: $file
"

}
}
}
    }
  1. 코드 복사
  2. 사용 방법: listdirfiles('home/some_folder/');

    7. PHP로 현재 페이지 URL 가져오기 다음 함수는 http이든 https이든 현재 페이지의 URL을 가져올 수 있습니다.

    1. function curpageurl() {
    2. $pageurl = 'http'
    3. if (!empty($_server['https'])) {$pageurl .= "s";}
    4. $pageurl .= "://";
    5. if ($_server["server_port"] != "80") {
    6. $pageurl .= $ _server["server_name"].":".$_server["server_port"].$_server["request_uri"]
    7. } else {
    8. $pageurl .= $_server["server_name"].$_server ["request_uri"];
    9. }
    10. $pageurl 반환
    11. }
    코드 복사

    1. echo curpageurl();
    코드 복사

    8. 파일 다운로드 브라우저에서 pdf 파일 등의 파일을 직접 열지 않고 직접 다운로드하기를 원하는 경우, 다음 함수를 사용하면 해당 함수에서 application/octet-stream 헤더 유형을 사용할 수 있습니다. .

    1. 함수 다운로드($filename){
    2. if ((isset($filename))&&(file_exists($filename))){
    3. header("content-length: ".filesize($filename))
    4. header('content-type: 애플리케이션/옥텟-스트림')
    5. header('content-disposition: attachment; filename="' . $filename . '"');
    6. readfile("$filename");
    7. } else {
    8. echo "파일이 없는 것 같습니다!";
    9. }
    10. }
    코드 복사

    사용법:

    1. download('/down/test_45f73e852.zip');
    코드 복사

    9. PHP가 문자열 길이를 가로챕니다 타이틀 표시에서 몇 글자를 초과할 수 없는지 등 문자열(한자 포함)의 길이를 가로챌 필요가 있고 초과 길이를 ...로 표시하는 경우 다음 기능을 사용하면 요구 사항을 충족할 수 있습니다.

    1. /*

    2. utf-8 및 gb2312에서 모두 지원되는 한자 가로채기 기능
    3. cut_str(string, Intercept 길이, 시작 길이, 인코딩)
    4. 기본 인코딩은 utf-8입니다.
    5. 기본 시작 길이는 0입니다.
    6. */
    7. function cutstr($string, $sublen, $start = 0, $ 코드 = 'utf-8'){
    8. if($code == 'utf-8'){
    9. $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]/";
    10. preg_match_all($pa, $string, $t_string);

    11. if(count($ t_string[ 0]) - $start > $sublen) return Join('', array_slice($t_string[0], $start, $sublen))."..."

    12. return Join('', array_slice( $t_string[0], $start, $sublen));
    13. }else{
    14. $start = $start*2
    15. $sublen = $sublen*2; strlen( $string);
    16. $tmpstr = '';

    17. for($i=0; $i<$strlen; $i ){

    18. if($ i> =$start && $i<($start $sublen)){
    19. if(ord(substr($string, $i, 1))>129){
    20. $tmpstr.= substr($ 문자열, $i, 2);
    21. }else{
    22. $tmpstr.= substr($string, $i, 1)
    23. }
    24. }
    25. if(ord(substr($) 문자열, $i, 1))>129) $i ;
    26. }
    27. if(strlen($tmpstr)<$strlen ) $tmpstr.= "..." return $tmpstr ;
    28. }
    29. }
    코드 복사
    사용법:

      $str = "jquery 플러그인으로 구현된 이미지 및 페이지 효과 로드 중"
    1. echo cutstr($str,16);
    코드 복사

    10.PHP로 클라이언트의 실제 IP를 가져옵니다 사용자의 IP를 기록하고 클라이언트의 실제 IP를 얻기 위해 데이터베이스를 사용해야 하는 경우가 종종 있습니다.

    1. //사용자의 실제 IP 가져오기
    2. function getip() {
    3. if (getenv("http_client_ip") && strcasecmp(getenv(" http_client_ip "), "알 수 없음"))
    4. $ip = getenv("http_client_ip");
    5. else
    6. if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "알 수 없음" ) )
    7. $ip = getenv("http_x_forwarded_for");
    8. else
    9. if (getenv("remote_addr") && strcasecmp(getenv("remote_addr"), "unknown"))
    10. $ip = getenv("remote_addr");
    11. else
    12. if (isset ($_server['remote_addr']) && $_server['remote_addr'] && strcasecmp($_server['remote_addr'], "알 수 없음") )
    13. $ip = $_server['remote_addr'];
    14. else
    15. $ip = "알 수 없음"
    16. return ($ip); >
    17. 코드 복사
    사용법:

    echo getip();
    1. 코드 복사
    11. SQL 주입 데이터베이스를 쿼리할 때 보안상의 이유로 악의적인 SQL 삽입을 방지하기 위해 일부 불법 문자를 필터링해야 합니다.

    function injcheck($sql_str) {
    $check = preg_match('/select|insert|update|delete|'|/*|*| ../|./|union|into|load_file|outfile/', $sql_str);
      if ($check) {
    1. echo '잘못된 문자입니다! ! ';
    2. 종료;
    3. } else {
    4. return $sql_str; }
    5. }
    6. 다음과 같이 사용하십시오:
    함수 메시지($msgtitle,$message,$jumpurl){
    $str = ''

    $ str .= '';

    $str .= ''
    $str .= ''; str .= '페이지 팁'
    $str .= ''
  3. $str .= ' ';
  4. $str .= '';
  5. $str .= '
    '
  6. $str .= '

    ' msgtitle.'

    ';
  7. $str .= '
    '
  8. $str .= '

    '.$message.'

    '; 🎜> $str .= '

    기다리고 싶지 않다면 3 후에 시스템이 자동으로 점프합니다. ,

  9. $str .= "<script>settimeout('location.replace('")를 클릭하세요. $jumpurl."')',2000)</script>";
  10. $str .= '
'
  • $str .= '
  • '; $str .= '';
  • $str .= ''
  • echo $str; 코드 복사
  • 사용법:
  • functionchangetimetype($seconds) {
  • if ($seconds > 3600) {
  • $hours = intval($seconds / 3600) ;
  • $분 = $초 % 3600;
  • $time = $hours . ":" . gmstrftime('%m:%s', $mins); = gmstrftime('%h:%m:%s', $seconds);
  • }
  • return $time;
    }

    코드 복사

    사용 방법:
      $초 = 3712; 에코 변경 시간 유형($초);
    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    최신 이슈
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿