-
- 함수 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))));
- $암호화 반환
- }
-
-
코드 복사
사용법:
- //다음은 "helloweba Welcomes you" 문자열을 각각 암호화하고 복호화하는 것입니다.
- //암호화:
- echo encryptdecrypt('password ' , 'helloweba 환영합니다',0);
- //Decryption:
- echo encryptdecrypt('password', 'z0jax4qmwcf db5tnbp/xwdum84snrsxvvpxuaca4bk=',1);
-
코드 복사
2. PHP는 임의의 문자열을 생성합니다
임의의 이름, 임시 비밀번호 및 기타 문자열을 생성해야 하는 경우 다음 기능을 사용하세요.
($i = 0; $i < $length; $i ) { $randomstring .= $characters[rand(0, strlen($characters) - 1)] } return $ 무작위 문자열 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(" 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]) } $thefile = filesize('test_file.mp3'); echo formatsize($thefile);복사 코드 5. PHP 태그 문자 바꾸기 -
문자열과 템플릿 태그를 지정된 콘텐츠, 함수로 바꿉니다.
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);
코드 복사
-
- 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"]
- } else {
- $pageurl .= $_server["server_name"].$_server ["request_uri"];
- }
- $pageurl 반환
- }
-
코드 복사
8. 파일 다운로드
브라우저에서 pdf 파일 등의 파일을 직접 열지 않고 직접 다운로드하기를 원하는 경우, 다음 함수를 사용하면 해당 함수에서 application/octet-stream 헤더 유형을 사용할 수 있습니다. .
-
- 함수 다운로드($filename){
- if ((isset($filename))&&(file_exists($filename))){
- header("content-length: ".filesize($filename))
- header('content-type: 애플리케이션/옥텟-스트림')
- header('content-disposition: attachment; filename="' . $filename . '"');
- readfile("$filename");
- } else {
- echo "파일이 없는 것 같습니다!";
- }
- }
-
코드 복사
사용법:
-
- download('/down/test_45f73e852.zip');
코드 복사
9. PHP가 문자열 길이를 가로챕니다
타이틀 표시에서 몇 글자를 초과할 수 없는지 등 문자열(한자 포함)의 길이를 가로챌 필요가 있고 초과 길이를 ...로 표시하는 경우 다음 기능을 사용하면 요구 사항을 충족할 수 있습니다.
-
-
/*
- utf-8 및 gb2312에서 모두 지원되는 한자 가로채기 기능
- cut_str(string, Intercept 길이, 시작 길이, 인코딩)
- 기본 인코딩은 utf-8입니다.
- 기본 시작 길이는 0입니다.
- */
- function cutstr($string, $sublen, $start = 0, $ 코드 = '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( $string);
- $tmpstr = '';
for($i=0; $i<$strlen; $i ){ - if($ i> =$start && $i<($start $sublen)){
- if(ord(substr($string, $i, 1))>129){
- $tmpstr.= substr($ 문자열, $i, 2);
- }else{
- $tmpstr.= substr($string, $i, 1)
- }
- }
- if(ord(substr($) 문자열, $i, 1))>129) $i ;
- }
- if(strlen($tmpstr)<$strlen ) $tmpstr.= "..." return $tmpstr ;
- }
- }
-
-
-
-
코드 복사
사용법:
$str = "jquery 플러그인으로 구현된 이미지 및 페이지 효과 로드 중" - echo cutstr($str,16);
-
-
코드 복사
10.PHP로 클라이언트의 실제 IP를 가져옵니다
사용자의 IP를 기록하고 클라이언트의 실제 IP를 얻기 위해 데이터베이스를 사용해야 하는 경우가 종종 있습니다.
-
- //사용자의 실제 IP 가져오기
- function getip() {
- if (getenv("http_client_ip") && strcasecmp(getenv(" http_client_ip "), "알 수 없음"))
- $ip = getenv("http_client_ip");
- else
- if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "알 수 없음" ) )
- $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'], "알 수 없음") )
- $ip = $_server['remote_addr'];
- else
- $ip = "알 수 없음"
- return ($ip); >
- 코드 복사
-
사용법:
echo getip();
11. SQL 주입
데이터베이스를 쿼리할 때 보안상의 이유로 악의적인 SQL 삽입을 방지하기 위해 일부 불법 문자를 필터링해야 합니다.
function injcheck($sql_str) { $check = preg_match('/select|insert|update|delete|'|/*|*| ../|./|union|into|load_file|outfile/', $sql_str); if ($check) { - echo '잘못된 문자입니다! ! ';
- 종료;
- } else {
- return $sql_str; }
- }
-
-
-
- 다음과 같이 사용하십시오:
-
-
함수 메시지($msgtitle,$message,$jumpurl){ $str = '' $ str .= ''; $str .= '' $str .= ' '; str .= ' 페이지 팁' $str .= '' - $str .= ' ';
- $str .= '';
- $str .= '
'
- $str .= '
' msgtitle.'';
- $str .= '
'
- $str .= '
'.$message.''; 🎜> $str .= '기다리고 싶지 않다면 3 후에 시스템이 자동으로 점프합니다. ,
- $str .= "<script>settimeout('location.replace('")를 클릭하세요. $jumpurl."')',2000)</script>";
- $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;
에코 변경 시간 유형($초);-
-
-
-
-
-
-
-
-
-
|