1. 월 표시
/** 月份顯示 * @param int $m 1-12 * @param int $type 0:long 1:short(default) 2:chinese * @return String */ function format_month($m, $type=0){ $month = array( array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), array('', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'), array('', '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月') ); return $month[$type][$m]; }
2. 문자열 필터링, UTF8 영숫자 중국어 및 일부 기호 유지
/** 過濾字符串,保留UTF8字母數字中文及部份符號 * @param String $ostr * @return String */ function filter_utf8_char($ostr){ preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $ostr, $matches); $str = join('', $matches[0]); if($str==''){ //含有特殊字符需要逐個處理 $returnstr = ''; $i = 0; $str_length = strlen($ostr); while ($i<=$str_length){ $temp_str = substr($ostr, $i, 1); $ascnum = Ord($temp_str); if ($ascnum>=224){ $returnstr = $returnstr.substr($ostr, $i, 3); $i = $i + 3; }elseif ($ascnum>=192){ $returnstr = $returnstr.substr($ostr, $i, 2); $i = $i + 2; }elseif ($ascnum>=65 && $ascnum<=90){ $returnstr = $returnstr.substr($ostr, $i, 1); $i = $i + 1; }elseif ($ascnum>=128 && $ascnum<=191){ // 特殊字符 $i = $i + 1; }else{ $returnstr = $returnstr.substr($ostr, $i, 1); $i = $i + 1; } } $str = $returnstr; preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $str, $matches); $str = join('', $matches[0]); } return $str; }
3. 바이너리 스트림 생성 파일
/** 二进制流生成文件 * $_POST 无法解释二进制流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input * $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用于 enctype=multipart/form-data * @param String $file 要生成的文件路径 * @return boolean */ function binary_to_file($file){ $content = $GLOBALS['HTTP_RAW_POST_DATA']; // 需要php.ini设置 if(empty($content)){ $content = file_get_contents('php://input'); // 不需要php.ini设置,内存压力小 } $ret = file_put_contents($file, $content, true); return $ret; }
4. 강제 업데이트 이미지 캐시
/** 強制更新圖片緩存 * @param Array $files 要更新的圖片 * @param int $version 版本 */ function force_reload_file($files=array(), $version=0){ $html = ''; if(!isset($_COOKIE['force_reload_page_'.$version])){ // 判斷是否已更新過 setcookie('force_reload_page_'.$version, true, time()+2592000); $html .= '<script type="text/javascript">'."\r\n"; $html .= 'window.onload = function(){'."\r\n"; $html .= 'setTimeout(function(){window.location.reload(true); },1000);'."\r\n"; $html .= '}'."\r\n"; $html .= '</script>'; echo $html; exit(); }else{ // 讀取圖片一次,針對chrome優化 if($files){ $html .= '<script type="text/javascript">'."\r\n"; $html .= "<!--\r\n"; for($i=0,$max=count($files); $i<$max; $i++){ $html .= 'var force_reload_file_'.$i.' =new Image()'."\r\n"; $html .= 'force_reload_file_'.$i.'.src="'.$files[$i].'"'."\r\n"; } $html .= "-->\r\n"; $html .= '</script>'; } } return $html; }
5. 파일을 base64로 변환하고 base64
/** 文件转base64输出 * @param String $file 文件路径 * @return String base64 string */ function fileToBase64($file){ $base64_file = ''; if(file_exists($file)){ $mime_type = mime_content_type($file); $base64_data = base64_encode(file_get_contents($file)); $base64_file = 'data:'.$mime_type.';base64,'.$base64_data; } return $base64_file; } /** base64转文件输出 * @param String $base64_data base64数据 * @param String $file 要保存的文件路径 * @return boolean */ function base64ToFile($base64_data, $file){ if(!$base64_data || !$file){ return false; } return file_put_contents($file, base64_decode($base64_data), true); }
6으로 변환합니다. 16진수 색상을 10진수 색상으로 변환
/** 16进制颜色转10进制颜色,例#FF0000转rgb(255, 0, 0); * @param String $hexcolor * @return Array */ function hex2rgb($hexcolor){ $color = str_replace('#', '', $hexcolor); if (strlen($color) > 3) { $rgb = array( 'r' => hexdec(substr($color, 0, 2)), 'g' => hexdec(substr($color, 2, 2)), 'b' => hexdec(substr($color, 4, 2)) ); } else { $r = substr($color, 0, 1) . substr($color, 0, 1); $g = substr($color, 1, 1) . substr($color, 1, 1); $b = substr($color, 2, 1) . substr($color, 2, 1); $rgb = array( 'r' => hexdec($r), 'g' => hexdec($g), 'b' => hexdec($b) ); } return $rgb; }
7. 시간
/** 获取两时间段相差时间 * @param datetime $starttime * @param datetime $endtime * @return String */ function diff_time($starttime, $endtime){ $diff = abs(strtotime($starttime) - strtotime($endtime)); $days = (int)($diff/86400); $hours = (int)($diff/3600); if($days>0){ $ret = $days.' 天'; }elseif($hours>0){ $ret = $hours.' 小时'; }else{ $ret = '不足1小时'; } return $ret; }
8. 지연된 출력 콘텐츠
/** 延时输出内容 * @param int $sec 秒数,可以是小数例如 0.3 */ function cache_flush($sec=2){ ob_flush(); flush(); usleep($sec*1000000); }
9. XOR(xor)+키를 사용하여 파일을 암호화하고 해독하세요
/** 文件加密,使用key与原文异或(XOR)生成密文,解密则再执行一次异或即可 * @param String $source 要加密或解密的文件 * @param String $dest 加密或解密后的文件 * @param String $key 密钥 */ function file_encrypt($source, $dest, $key){ if(file_exists($source)){ $content = ''; // 处理后的字符串 $keylen = strlen($key); // 密钥长度 $index = 0; $fp = fopen($source, 'rb'); while(!feof($fp)){ $tmp = fread($fp, 1); $content .= $tmp ^ substr($key,$index%$keylen,1); $index++; } fclose($fp); return file_put_contents($dest, $content, true); }else{ return false; } }
10. 폴더 사용자, 그룹 사용자 및 권한
/** 获取文件或文件夹的拥有者,组用户,及权限 * @param String $filename * @return Array */ function file_attribute($filename){ if(!file_exists($filename)){ return false; } $owner = posix_getpwuid(fileowner($filename)); $group = posix_getpwuid(filegroup($filename)); $perms = substr(sprintf('%o',fileperms($filename)),-4); $ret = array( 'owner' => $owner['name'], 'group' => $group['name'], 'perms' => $perms ); return $ret; }
11. 빈 디렉터리 및 빈 하위 디렉터리 삭제
/** 删除所有空目录 * @param String $path 目录路径 */ function rm_empty_dir($path){ if($handle = opendir($path)){ while(($file=readdir($handle))!==false){ // 遍历文件夹 if($file!='.' && $file!='..'){ $curfile = $path.'/'.$file; // 当前目录 if(is_dir($curfile)){ // 目录 rm_empty_dir($curfile); // 如果是目录则继续遍历 if(count(scandir($curfile))==2){ // 目录为空,=2是因为. 和 ..存在 rmdir($curfile); // 删除空目录 } } } } closedir($handle); } }
12. 유니코드를 중국어로
/* unicode 转 中文 * @param String $str unicode 字符串 * @return String */ function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4))); }elseif(substr($v,0,3) == "&#x"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1))); }elseif(substr($v,0,2) == "&#") { $ar[$k] = iconv("UCS-2BE","UTF-8",pack("n",substr($v,2,-1))); } } return join("",$ar); }
이 문서에서는 PHP를 사용하는 일반적인 사용자 정의 방법을 소개합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목하세요.
관련 권장 사항:
php를 통해 XOR(XOR)을 사용하여 파일을 암호화/복호화하는 방법
위 내용은 PHP 일반 사용자 정의 방법을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

드림위버 CS6
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
