Loading...
입력된 한글 단어를 PHP를 이용하여 초성,중성종성 단위로 분리해주는 함수 - linear_hangul()

이번포스팅은 정말 엉뚱하게도 한글 전체 DB를 만드는 과정에서 한글 초성,중성,종성 단위로 분리할 수 있을까라는 의문점이 들어 시작되었다. 간혹 MAC 기기로 부터 받은 파일명들을 보면 한글이 초성,중성,종성 단위로 분리되어 표시가 되는데 정말 쓸떼없이 한번 만들어보고 싶었다. 일단 처음에는 내 얕은 지식을 통해 mb_ord로 열심히 규칙을 찾아보았지만 어···

PHP 의 glob 함수를 이용한 서버 디렉토리에서 특정 파일 리스트만 추출하는 방법

PHP 에서 디렉토리관련하여 상당히 많은 함수들이 제공된다. 그중 패턴을 이용하여 파일명 리스트를 추출할 수 있는 glob 라는 함수가 있는데 오늘은 이함수에 대해 간단하게나마 알아 보도록 하자 먼저 이함수는 아래의 PHP 그룹 사이트에서 상세 정보를 확인 가능하다. PHP: glob - Manual PHP: glob - Manual www.php.net/···

JQUERY 의 AJAX를 통한 서버 header 데이터 주고 받기

지난편에서 `SetEnvIf 를 활용한 헤더(header) 데이터 받기` 를 알아보았고 이번편에서는 AJAX 통신으로 헤더값을 주고 받는 방법에 대해 알아보고자 한다. (왠지 내가 올린글들만 설명이 많이 떨어지는것같다..) JQUERY 의 AJAX 로 헤더 데이터를 담아 보내기 서버에 index.php 파일을 만든다음 아래 소소코드를 복붙한다. 참고로 헤더 ···

SetEnvIf 를 활용한 헤더(header) 데이터 받기

API 작업 시 헤더에 중요 정보를 담아서 처리해야할때 가있다. 하지만 서버에 따라 apache_request_headers() 함수가 지원이 안되는 경우가 있는데 이때 해결방법으론 .htaccess 를 이용하여 별도 처리하는것이다. 작업은 조금 번거로울 수 있으며 아파치의 mod_setenvif 모듈이 설치되어있어야 해결가능하다. 그외 방법은 나도 찾아본···

mb_str_split - PHP 하위버전 서포트 함수

mb_str_split PHP: mb_str_split - Manual PHP: mb_str_split - Manual www.php.net/manual/en/function.mb-str-split.php PHP 함수중 하나인mb_str_split 의 경우 PHP 7.4 이상에서 사용이 가능한 함수로 하위 버전에서는 사용이 불가능하다. 그래서 대충 새로 ···

PHP - multiSendMail 라이브러리 개발 완료

8월의 첫 휴가가 떨어지고 그동안 미뤄두었던 PHP 메일 라이브러리를 완성 시켜볼까 하여 무작정 신규 라이브러리를 작업을 시작하였다. 솔직히 메일 라이브러리에 대한 문의가 많이 왔으나 회사일이 너무 많아 손을 쓰지 못하고 있었고 기존 smtpSendMail 라이브러리 2.0을 개발도중에 작은 실수로 1.0 소스와 짬뽕이 되는 바람에 자포자기 하는 심정으로 ···

[PHP] hash_algos 함수[PHP >= 5.1.2]

hash_algos 함수의 경우 현재 서버에 내장된 PHP 해싱 알고리즘 리스트를 배열로 리턴해준다. 주로 hash 함수 처리 시 사용가능한 해싱 알고리즘을 미리 확인 하여 사용 가능하다. 지금까지 쓰던 해싱 알고리즘은 흔히 md, sha 였는데 이 함수로 확인해 보니 상당히 많은 알고리즘을 쓸 수 있다는것을 알게 되었다. 아래는 hash_algos 함수를···

[PHP] 파일내용 가져오기 속도 테스트 (fgets,fread,file,file_get_contents,include)

최근 json 파일을 읽어와 데이터 처리를 하면서 궁금증이 생겼다. 파일읽기 함수는 여러가지가 있는데 이중 속도차이가 많이 날까라는 의문이였다. 나같은 경우 파일 내용을 읽을 시 file_get_contents 와 include 를 많이 사용했는데 검색하다보니 file_get_contents 가 더 빠르다는 글이 있어 몇가지 함수를 더 추가해서 테스트를 해···

[PHP] 삼항연산자와 or 과 and 연산자

삼항연산자의 경우 대학교 시절 C언어 접하면서 처음 용어를 알게 되었다. 당시 기억으로 시험때문에 사용했고 실제 프로그램 작업할때는 거의 사용하지는 않았던것같다. 하지만 삼항 연산자는 간다한 처리에서 많이 사용하는 방식이니 반드시 숙지하는게 좋다. 책으로 본다면 전문용어로 설명이 되어있겠지만 나같은 경우 그런 설명은 별로 좋아하지 않는다. 나는 내가 이해했···

[PHP] if else 문과 else if 문의 차이점 그리고 switch case 문

프로그램 하면서 if 문과 switch 문은 빼놓을 수 없을 만큼 많은 비중을 차지 하고 있다. 하지만 if 문과 else if 문의 확실 한 차이점을 초기 이해못하고 사용한다면 정말 위험한 프로그램을 할 수 있기때문에 처음 프로그램을 접한다면 반드시 숙지하고 가는게 좋다. 기본적으로 if else 문의 기본 사용은 1번 예제와 같다. 1번 예제 <?···

[PHP] PHP 에서 메일검사(유효성) 정규식 과 함수

우리는 사용자로 부터 입력받는 이메일 형식이 유효한지 체크해야 할 경우가 있다. 이메일의 경우 보통 아이디@ 도메인 형식으로 구성 되어있으며 이러한 규칙을 활용하여 이메일에 대한 검증을 해야한다. 이메일 유효성 체크에의 경우 아래와 같이 두가지 방법을 소개한다. preg_match 함수를 통한 정규칙 체크 <?php $email="lcy@redinfo···

[PHP] 정규식 preg_match - 유니코드(영문,한글,한자)

PHP 작업을 하다보면 정규식을 이용하여 처리를 해야할 상황이 많이 있다. 간단한 정규식 같은경우 외우고 다닌다 하지만, 조금 복잡한 상황의 정규식은 항상 쓸때마다 생각이 안난다. 오늘은 일반적인 글자들에 대한 정규식 체크를 소개한다. 늘 그렇듯 서론은 여기까지 하고 아래는 정규식 체크 예제이다. PHP 정규식 - preg_match - 유니코드 $arr_···

[PHP] 세션 설정 - php.ini 없이 설정하기

세션의 경우 쿠키보다 한단계 높은 보안용도로 생각하는 경우가 많다. 하지만 전혀 보안이 높은건 아니다. 세션도 쿠키가 있어야만 작동되기 때문에 쿠키가 탈취당하는 순간 한방으로 끝날 수 있다. 따라서 세션의 보안성을 높이기 위해선 인증 쿠키를 여러개를 구어서 세션정보와 함께 대조하도록 만드는게 좋다. 즉 쉽게 설명하면 보안 인증 쿠키를 구어서 세션 변수내 ···

[PHP] index.php 죽이기

웹을 개발하다보면 index.php 죽이기라는 말을 많이들 들어봤을 것이다. 처음 index.php 죽이기를 접했을 시 이게 무슨 말이지? 하였지만 막상 사용하고 보니 이해가 되었다. index.php 란 쉽게 말해 말 그대로 index.php 자체를 없애고 내부적으로는 index.php 에서 모든걸 처리한다는 뜻이다. 그런데 말입니다. index.php···

str_contains() 함수[PHP >= 8]

str_contains() 함수의 경우 전체문자열, 찾을문자열을 파라미터로 받아서 있을 경우 TRUE, 없을경우 FALSE 를 RETURN 한다. 다만 이함수는 PHP8 이상 에서만 지원되므로 아래와 같이 서포트가 가능하다. 테스트결과보기 if (!function_exists('str_contains')) { function str_contains($hay···

PHP 에서 GET,POST 변수처리 보안

PHP의 경우 변수가 정말 개방적이다. 때론 개방적이다 못해 해커로 부터 공격당하기 좋은 환경또한 제공해 준다. 과거 프로그램들을 보면 GET, POST 를 변수화 시켜서 사용하거나 php.ini 에서 변수화 설정을 통해 사용하기도 했었다. 이러한 방법은 편리하긴 하나 보안의 취약점이기도 하다. 현재와서는 함수 또는 클래스화 하여 처리하고 있지만 PHP만 ···

register_shutdown_function 함수

php의 register_shutdown_function 함수는 어느구간에 사용하더라도 모든 PHP 스크립트가 실행한 후 최종 실행을 하게 해준다. PHP 예제 function shutdown() { global $varResult ; $sessionResult = $_SESSION['result']; var_dump($sessionResult); // p···

12