세이박스

[자바스크립트] 문자 자르기 및 특정 문자로 분리하기

웹프로그램

자바스크립트에서 문자를 자르거나 분리하기 위한 방법 입니다.

1. 문자를 특정 위치로 부터 지정한 길이 만큼 자리기
함수 : substr()

var a = "123456789";
var b = a.substr(0,3);
alert(b); //결과 : 123

var c = a.substr(5,2);
alert(c); //결과 : 67

php의 경우 substr(변수,자를위치,자를갯수)이미지만 자바스크립트에서는 변수.substr(자를위치,자를갯수) 방식으로 사용합니다.
자를위치는 문자열 처음이 1이 아닌 0으로 되어 있습니다. 즉, 0,1,2.. 이렇게 시작하니 착오 없으시길 바랍니다.


2. 문자열에서 특정 문자 기준으로 자르기
함수 : split()
적용예 :

var a = "010-1111-2222";
var b = a.split("-");

alert(b[0]); //결과: 010
alert(b[1]); //결과: 1111
alert(b[2]); //결과: 2222

전화번호를 예로 "-" 기준으로 잘라서 저장해 보았습니다.
"-" 는 제거되며 "-"기준으로 각 값들이 배열로 저장 됩니다.

  최신영화 보러가기... 

자리수 지정한 문자로 채우기 str_pad()

웹프로그램

PHP에서 특정 자리수 만큼 지정된 문자로 변경하고자 할 때 간단하게 str_pad() 함수를 이용하면 편리 합니다.
예를들어 1~20까지의 숫자가 있는데 1~9까지는 2자리수로 맞혀 주기 위해 앞에 "0"을 붙이고자 할 경우

str_pad($a, 2, "0", STR_PAD_LEFT);

라고 하면 간단하게 1~9 인경우 앞에 "0"이 붙게 됩니다.
기타 옵션에 따른 결과를 간단히 설명하겠습니다.

<?
$input = "test";
echo "<br>1:".str_pad($input, 8)."s";
echo "<br>2:".str_pad($input, 8, "*", STR_PAD_LEFT)."s";
echo "<br>3:".str_pad($input, 8, "*", STR_PAD_BOTH)."s";
echo "<br>4:".str_pad($input, 5 , "***")."s";
?>

결과 :
1:test    s
2:****tests
3:**test**s
4:test*s

1번은 변경할 문자를 입력하지 않을 경우 " " 부족한 자릿수 만큼 우측에 공백으로 추가합니다.
2번의 경우는 LEFT 부족한 자리수 만큼 왼쪽부터 채우며,
3번 BOTH는 좌,우 모두 균등하게 배치합니다.
만약 남은 공백이 5칸인경우 좌측에 2칸, 우측에 3칸을 추가 합니다.
4번은 변경할 값이 *** 3자리 이지만 자리수를 5칸으로 지정 했기에 * 하나만 적용되었습니다.

다양한 옵션으로 상황에 맞게 적용 하시면 됩니다.

addslashes() stripslashes() DB 저정시 '홀따옴표에 \백슬러시 붙였다 빼주는 함수

웹프로그램
 
addslashes()
DB에 데이터를 입력할 때 ' 홀따옴표가 들어가는경우 오류가 나는걸 방지 하기위해 ' 앞에 \ 백슬러시를 붙이는 역할을 합니다. \' 처럼...
 
stripslashes()
addslashes() 반대 되는 역할로써 ' 홀따옴표에 \붙여진걸 제거 해주는 역할을 합니다.
 
게시판등 사용자의 입력내용을 받을때 유용하게 활용 하면 str_replace 등으로 굳이 변환하지 않고 DB에 바로 저장 가능합니다.

자바스크립트 함수 체크

웹프로그램

자바스크립트에서 함수를 호출할 때 실수로 해당 함수를 기입 안한채 코딩시 오류가 발생하는 경우를 미연에 방지 하기 위한 방법.

typeof(체크할 함수) 로 체크했을 때 "undefined"라고 디턴값을 받으면 함수가 문제가 없는것으로 판단하여 함수 호출을 하지 않으므로 스크립트 오류를 예방할 수 있다.

예)
<script>
function test() {
  alert("테스트");
}

if(typeof(test()) != "undefined") test();
</script>

결과 : 테스트 메시지 출력


<script>
if(typeof(test()) != "undefined") test();
</script>

결과 : 아무처리 안함

php 함수 모음

웹프로그램
 

PHP에는 수많은 함수들이 존재한다. PHP가 웹프로그래밍 언어로서 가장 인기 있는 이유 중에 하나가 바로 풍부한 함수들을 제공하고 있기 때문이다. 프로그래머에게 함수가 풍족하다는 것은 목수가 연장을 다양하게 가지고 있는 것과 같다. 목수에게 적재적소에 맞는 다양한 연장이 있어야 좋은 집을 짓듯이 프로그래머에게는 다양한 함수가 제공 되어야 멋진 홈페이지를 구축 할 수 있다. PHP는 문자열 함수부터 다양한 변수와 연산자, 요즘 많이 사용되고 있는 XML 함수에 이르기까지 충분한 함수를 제공한다.



함수명

함수설명

echo

문자열을 출력한다.

print

문자열을 출력한다.

htmlspecialchars

줄을 바꾸지 않고 HTML 코드를 문자열 그대로 출력한다.

nl2br

개행 문자 앞에 <BR/>태그를 삽입하여 줄을 자동으로 바꾼다.

substr

지정해준 숫자에 따라 문자열 앞뒤 일부를 추출한다.

strstr

찾고자 하는 문자열이 처음으로 나타나는 위치 이후의 문자열을 반환한다.(대소문자 구분한다.)

strchr

찾고자 하는 문자열이 마지작으로 나타나는 위치 이후의 문자열을 반환한다.

trim

문자열의 앞부분과 뒷부분에 있는 공백 문자를 제거한다.

addslashes

작은 따옴표와 큰 따옴표, 역슬래쉬와 같은 문자 앞에 역슬래쉬를 붙인다.

stripslashes

addslashes() 함수로 역슬래쉬가 처리 된 문자를 원 상태로 돌린다.

explode

문자열을 지정한 구분자로 나누어 배열에 저장한다.

strcmp

두 개의 문자열을 비교한다.

date

시간이나 날짜를 지정한 형식에 맞게 출력한다. 

time

현재의 시간을 유닉스 시간(초)으로 얻는다.

mktime

특정날짜와 시간을 유닉스 시간으로 얻는다.

인자가 없다면 time 함수와 같은 결과를 얻는다.

checkdate

주어진 날짜와 시간이 실제로 존재하는지 검사한다.

microtime

유닉스 시간과 마이크로 초 단위의 시간을 얻는다.

getdate

날짜와 시간 정보를 배열의 형태로 얻는다.

file

파일을 읽어 배열로 반환한다.

filesize

바이트 수로 파일의 크기를 반환한다.

file_exists

파일이 존재하는지 검사한다.

fopen

지정한 파일 모드로 연다.

fclose

fopen() 함수로 연 파일을 닫는다.

is_dir

디렉토리인지 검사한다.

is_file

파일인지 검사한다.

copy

파일을 복사한다.

unlink

파일을 삭제한다.

mkdir

디렉토리를 생성한다.

rmdir

디렉토리를 삭제한다.

array

배열을 생성한다.(구문)

list

배열에서 값을 가져와 지정된 변수에 할당함(구문)



날짜 및 시간 함수

checkdate : 주어진 날짜와 시간이 올바른지 검사한다.

date : 지정한 형식으로 시간이나 날짜를 배열로 반환한다.

getdate : 날짜와 시간의 정보를 배열로 형태로 얻는다.

gettimeofday : 시스템의 현재 시간 자료를 얻는다.

gmmktime : 그리니치표준 시간으로 지정한 날짜의 유닉스 시간(timestamp)을 얻는다.

localtime : 현재 서버의 로컬 타임을 얻는다.

mktime : 지정된 날짜를 유닉스 시간(timestamp)으로 얻는다.(시,분,초,월,일,년)

microtime : 현재시간의 유닉스 시간과 마이크로타임 값을 얻는다.

strftime : 주어진 포맷으로 시간이나 날짜 정보를 출력한다.

time : 현재 시간을 유닉스 시간(timestamp)으로 얻는다.

문자열 함수


AddCSlashes C 형식으로 문자열에 슬래쉬를 덧붙인다. 

addslashes 작은따옴표 큰따옴표와 같은 특정문자 앞에 역슬래시 문자를 붙인다. 

bin2hex  바이너리 데이터를 16진수 표현으로 바꾼다. 

chop 문자열의 끝에 있는 공백문자를 제거하고 문자열을 반환한다. 

chr 특정 문자를 반환한다.chr()함수는 아스키함수에 해당하는 문자를 반환한다.ord()함수는 문자열에서 첫번째 문자에 아스키코드값을 반환한다.  

chunk_split 문자열을 작은 조각으로 나눕니다. 

count_chars 문자열 안에 사용한 문자에 대한 정보를 반환합니다. 

crc32 str의 32비트 순환 반복 체크섬 값을 생성합니다. 보통 모든 데이터가 전송되었는지 확인하는 데에 사용합니다.  

crypt 단방향 문자열 암호화(해슁). 

echo 하나 이상의 문자열을 출력합니다. 

explode 문자열을 주어진 문자열을 기준으로 분리합니다. 

fprintf 문자열을 형식화하여 스트림에 기록합니다.  

hebrev 논리 헤브라이어 텍스트를 표시 텍스트로 변환합니다.한 줄에 출력할 최대 문자 수를 지시합니다.  

hebrevc 개행 문자(\n)를 "<br>\n"로 바꾼는 점을 제외하면, hebrev()와 동일합니다. 

html_entity_decode  모든 HTML 엔티티를 해당하는 문자로 변환합니다. 

htmlentities 해당하는 모든 문자를 HTML 엔티티로 변환합니다. 

htmlspecialchars 특수 문자를 HTML 엔터티로 변환합니다.

'&'(앰퍼샌드)는 '&'가 됩니다.

'"'(큰 따옴표)는 ENT_NOQUOTES를 지정하지 않았을 때 '"'가 됩니다.

'''(작은 따옴표)는 ENT_QUOTES를 지정했을 때만 '''가 됩니다.

'<'(보다 작음)는 '<'가 됩니다.

'>'(보다 큼)는 '>'가 됩니다.

 

implode 모든 배열 원소를 순서대로, 각각의 원소 사이에 glue 문자열을 덧붙인 문자열 표현을 반환합니다.  

localeconv 숫자 형식화 정보를 얻습니다.  

ltrim  문자열 시작 부분의 공백을 제거합니다. 

md5_file 주어진 파일명의 md5 해쉬를 계산합니다.  

md5 문자열의 md5 해쉬를 계산합니다.해쉬는 16진수의 32문자입니다.  

nl2br 문자열의 모든 줄바꿈 앞에 HTML 줄바꿈 태그를 삽입합니다. 

number_format 숫자를 천 단위로 구분하여 포맷합니다. 

ord  문자의 아스키 값을 반환합니다. 

print 문자열을 출력합니다.  

printf 형식화한 문자열을 출력합니다. 

quotemeta 메타 문자를 인용합니다.문자 앞에 백슬래쉬(\)를 덧붙인 str을 반환합니다. 

rtrim 문자열 끝 부분의 공백을 제거합니다. 

similar_text 두 문자열 간의 유사성을 계산합니다.  

sprintf 형식화한 문자열을 반환합니다.  

str_ireplace 대소문자를 구별하지 않는 str_replace().  

str_pad 문자열을 어떠한 길이가 되도록 다른 문자열로 채웁니다. 

str_repeat 문자열을 반복합니다. 

str_replace 발견한 모든 검색 문자열을 치환 문자열로 교체합니다. 

str_shuffle 문자열을 랜덤하게 섞습니다. 

str_split  문자열을 배열로 변환합니다. 

strip_tags 문자열에서 HTML과 PHP 태그를 제거합니다.  

stripcslashes addcslashes()로 처리한 문자열을 되돌립니다. 

stripos 대소문자를 구별하지 않고 문자열이 처음 나타나는 위치를 찾습니다.  

stripslashes addslashes()로 처리한 문자열을 되돌립니다. 

strlen 문자열의 길이를 구합니다.  

strpos 문자열이 처음 나타나는 위치를 찾습니다.  

strrchr 문자열에서 문자가 마지막으로 나오는 부분을 찾습니다. 

strrev 문자열을 뒤집습니다.  

strripos 문자열에서 대소문자 구별 없이 문자열이 나타나는 마지막 위치를 찾습니다. 

strrpos 문자열에서 마지막 문자의 위치를 찾습니다 

strstr 문자열이 처음으로 나타나는 부분을 찾습니다 

strtolower 문자열을 소문자로 만듭니다.  

strtoupper 문자열을 대문자로 만듭니다. 

strtr 특정 문자를 번역한다.  

substr_count 부분문자열의 수를 센다 

substr_replace 문자열의 일부를 치환한다. 

substr 문자열의 일부를 반환한다. 

trim 문자열의 처음과 끝에 있는 공백을 제거한다. 

ucfirst 문자열의 처음 글자를 대문자로 만든다. 

ucwords 문자열에 있는 각 단어의 처음 글자를 대문자로 바꾼다.  

wordwrap 정지문자를 이용해 주어진 수 만큼의 문자를 래핑한다.

파일 함수

basename : 경로명에서 파일명만을 반환한다.

chgrp : 파일 그룹을 변환한다.

chmod : 파일의 모드를 변경한다.

chown : 파일의 소유자를 변경한다.

clearstartcache : 파일의 통계 캐시를 삭제한다.

copy : 파일을 복사하고 제대로 수행이 되면 true를 반환한다.

dirname : 경로의 구성요소에서 디렉토리 이름만 반환한다.

fopen : 파일이나 url경로의 파일을 읽기나 쓰기 모드로 연다.

fclose : fopen() 함수로 열린 파일 포인터를 닫는다.

feof : 현재 포인터의 위치가 파일 끝에 있는지 테스트한다.

fflush : 출력결과를 파일로 보낸다.

fgetc : 파일 포인터로부터 문자를 읽어들인다.

fgets : 파일을 한줄씩 읽어들인다.

file : 파일 전체 읽어서 배열(줄단위)로 반환한다.

fileatime : 파일에 접근한 최근 시간을 반환한다.

filesize : 파일의 크기를 바이트수로 반환한다.

file_exists : 지정한 파일이 존재하는지 체크한다.

fpassthru : 파일포인터에 남아 있는 데이타를 모두 출력한다.

fputs : 특정 바이트 수 만큼을 파일에 기록한다.

fread : 지정한 수만큼 파일을 읽어 들인다.

fwirte : 파일을 기록한다. is_dir : 지정한 이름이 디렉토리인지 아닌지 검사하여 반환한다.

PHP sleep 함수..(지정한 시간동안 딜레이를 가짐)

웹프로그램
메일 발송 루프 등으로 돌릴경우라던지 너무 빨리 루프가 돌면 안되는 경우 지연시간을 주는 함수로 sleep 을 사용합니다.
초단위 이며 sleep(10) 이라고 지정한경우 10초간 딜레이 되었다 다시 다음 구문을 시작합니다.
 
<?php
 
// current time
echo date('h:i:s') . "<br>";
 
// sleep for 10 seconds
sleep(10);
 
// wake up !
echo date('h:i:s') . "<br>";
?>

PHP $_SERVER 함수

웹프로그램
$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 => /webapp/include
$_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 받식 => gzip, deflate
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 => ko
$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 => Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705
$_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP => xxx.xxx.xxx.xxx
$_SERVER['SCRIPT-x_FILENAME'] = 실행되고 있는 위치와 파일명 => webapp/include/index.php
$_SERVER['SERVER_NAME'] = 사이트 도메인 => www.crazy-cupid.com
$_SERVER['SERVER_PORT'] = 사이트가 사용하는 포트 => 80
$_SERVER['SERVER_SOFTWARE'] = 서버의 소프트웨어 환경 => Apache/1.3.23 (Unix) PHP/4.1.2 mod_fastcgi/2.2.10 mod_throttle/3.1.2 mod_ssl/2.8.6 OpenSSL/0.9.6c
$_SERVER['GATEWAY_INTERFACE'] = cGI 정보 => CGI/1.1
$_SERVER['SERVER_PROTOCOL'] = 사용된 서버 프로토콜 => HTTP/1.1
$_SERVER['REQUEST_URI'] = 현재페이지의 주소에서 도메인 제외 =>  /index.php?user=???&name=???
$_SERVER['PHP_SELF'] = 현재페이지의 주소에서 도메인과 넘겨지는 값 제외 =/ index.php
$_SERVER['APPL_PHYSICAL_PATH'] = 현재페이지의 실제 파일 주소 => D:\webapp/

php 함수요약

웹프로그램
1. 날짜 및 시간 관련함수
*time()
-용도: 현재 시각을 timestamp값으로 구한다.
-방법: time()
 
*date()
-용도: 사용자가 지정한 형태로 시간을 표시. 특정시간의 날짜와 요일등을 배열로 리턴한다.
-방법: date("표시할 시간의 포맷형태","특정한 timestamp값")
 
*mktime()
-용도: 지정된 날짜를 timestamp값으로 변환한다.
-방법: mktime(시,분,초,월,일,년)
 
*checkdate()
-용도: 날짜와 시간이 올바른 범위 안에 있는지 검사한다.
-방법: checkdate(월,일,년)
 
*getdate()
-용도: 특정timestamp값으로 시간,요일,날짜정보를 배열로 반환한다.
-방법: getdate(timestamp값) 또는 getdate()
 
*gettimeofday()
-용도: 현재 시스템의 현재 시간 정보를 배열로 리턴한다.
-방법: gettimeofday()
 
*gmmktime()
-용도: 그리니치표준 시간으로 지정한 날짜의 timestamp값을 리턴한다.
-방법: gmmktime(시,분,초,월,일,년)
 
*strftime()
-용도: 특정한 포맷으로 날짜 정보를 출력하는데 언어를 지정할수 있다.
-방법: strftime("표시할 시간의 포맷형태","특정시간의 timestamp값")
 
*microtime()
-용도: 현재시간의 마이크로타임 값과 timestamp값을 표시한다.
-방법: microtime()
 
*localtime()
-용도: 현재 서버의 로컬 타임을 표시
-방법: localtime() 또는 localtime("timestamp값")
 
2. 문자열 처리함수
*addslashes()
-용도: 작은따옴표 큰따옴표와 같은 특정문자 앞에 역슬래시 문자를 붙인다.
-방법: addslashes()
 
*stripslashes()
-용도: allslashes로 역슬래시 처리된 문자를 원상태로 되돌린다.
-방법: stripslashes()
 
*htmlspecialchars()
-용도: HTML코드를 소스 그대로 출력해준다.
-방법: htmlspecialchars()
 
*nl2br()
-용도: 문자열에 포함된 개행 문자를
태그로 모두 바꿔준다.
-방법: nl2br()
 
*echo()
-용도: 문자열 출력
-방법: echo("변수명" 또는 "문자열")
 
*sprintf()
-용도: 포맷 문자열을 통해 지정해 준 포맷으로 문자열을 표시한다.
-방법: sprintf("포맷","변수명")
 
*printf()
-용도: 지정할 수 있는 포맷에 따라 문자열을 출력한다.
-방법: printf("포맷","변수명")
 
*explode()
-용도: 문자열을 지정해준 구분자로 분리하여 배열에 저장한다.
-방법: explode("구분자","문자열인수")
 
*implode()
-용도: 구분자로 나누어 배열에 담은 문자열을 다시 지정해준 구분자로 연결하여 전체 문자열을 반환한다.
-방법: implode("구분자",배열변수명)
 
*join()
-용도: implode()와 동일한 기능을 수행한다.
-방법: join("/", "배열변수명")
 
*split()
-용도: 주어진 문자열을 정규표현식의 패턴에 따라 분리하여 배열에 저장한다.
-방법: implode("정규표현식","문자열")
 
*strcmp()
-용도: 두개의 문자열을 비교하여 참이면1, 거짓이면 0을 반환한다.
-방법: strcmp("문자열","문자열") 또는 strcmp("문자열","변수명") 또는 strcmp(변수명, 변수명)
 
*substr()
-용도: 문자열에서 특정시작 문자부터 길이만큼의 문자열을 추출하여 반환한다.
-방법: substr("문자열", 시작문자번호, 문자열의 길이)
 
*strchr()
-용도: 문자열이 처음으로 나타나는 위치부터 끝까지 반환
-방법: strchr("문자열","찾을 문자열")
 
*strstr()
-용도:strchr()함수와 동일한 수행을 한다.
-방법: strstr("문자열","찾을 문자열")
 
*strrchr()
-용도: 문자열이 마지막으로 나타나는 위치부터 끝까지 반환한다.
-방법: strrchr("문자열","찾을문자열")
 
*strpos()
-용도: 문자열 대신 처음으로 나타나는 위치를 숫자로 반환, 이때 숫자는 0부터 시작.
-방법: strpos("문자열","찾을 문자열")
 
*strrpos()
-용도: 찾고자 하는 문자열에서 마지막으로 나타나는 위치를 반환한다.
-방법: strrpos("문자열", "찾을 문자열")
 
*strlen()
-용도: 문자열의 길이를 반환한다.
-방법: strlen($변수명) 또는 strlen("문자열")
 
*strtolower()
-용도: 알파벳 대문자를 모두 소문자로 바꾸어 반환한다.
-방법: strtolower("문자열")
 
*strtoupper()
-용도: 알파벳 대문자를 소문자로 바꾸어 반환한다.
-방법: strtoupper("문자열")
 
*ucfirst()
-용도: 알파벳 문자열의 첫 글자를 대문자로 반환한다.
-방법: unfirst("문자열")
 
*ucwords()
-용도: 알파벳 문자열의 첫 글자를 대문자로 반환한다.
-방법: ucwords("문자열")
 
*strrev()
-용도: 인자로 전달한 문자열의 순서를 역전시킨다.
-방법: strrev("문자열")
 
*strtr()
-용도: 문자열에서 변경하고자 하는 문자열을 변경할문자열로 1:1 변경해준다.
-방법: strtr("문자열","변경하고자하는 문자열","변경할 문자열")
 
*str_replace
-용도: 문자열 중에 변경하고자 하는 문자열을 찾아 변환한다.
-방법: str_replace("찾을 문자열","변경할 문자열","문자열 원본")
 
*chop()
-용도: 문자열의 뒷부분의 공백 문자를 제거한 후 반환한다.
-방법: chop("문자열")
 
*trim()
-용도: 문자열의 앞과 뒤에 있는 공백을 제거한 후 문자열을 반환한다.
-방법: trim("문자열")
 
*quotemeta()
-용도: 메타문자 앞에 역슬래시를 붙인다.
-방법: quotemeta()
 
*ord/chr()
-용도: ord()함수는 문자열에서 첫번째 문자에 아스키코드값을 반환하고 chr()함수는 아스키함수에 해당하는 문자를 반환한다.
-방법: ord("문자열"), chr("아스키값")
 
*parse_str()
-용도: get방식과 같은 형태의 변수형을 변수와 값으로 받을 수 있게 해준다.
-방법: parse_str(변수명)
 
 
3.파일관련함수
 
*fopen()
-용도: 로컬경로의 파일이나 url경로의 파일을 읽기 모드나 쓰기 모드로 열어준다.
-방법: fopen("절대경로명/파일", "모드")또는 fopen("url주소", "모드")
 
*fclose()
-용도: fopen으로 열린 파일을 닫는다.
-방법: fclose($fp)
 
*fread()
-용도: 파일포인터가 가리키는 파일의 내용을 지정한 크기만큼 읽어 들인다.
-방법:fread($fp,"읽어들일 바이트")
 
*feof()
-용도: 현재 파일 포인터가 파일의 끝인지를 알려주는 함수
-방법: feof($fp)
 
*fgets()
-용도: 파일을 읽어올때 한줄씩 읽어온다.
-방법: fgets($fp,"읽어들일 바이트")
 
*fputs()
-용도: 파일을 a 또는 w 모드로 열어 문자열을 파일에 기록한다.
-방법: fputs($fp, "문자열")
 
*fwirte()
-용도: 파일을 기록한다.
-방법: fwrite($fp, "문자열")
 
*fpassthru()
-용도: 파일포인터의 현재 위치에서 파일의 끝까지 읽어 들이도록 한다.
-방법: fpassthru($fp)
 
*readfile()
-용도: fpassthru와 비슷하지만 fopen()없이 직접 바로 파일을 읽어들일 수 있다. 읽어들인 파일의 절대경로를 포함한다.
-방법: readfile("파일의 절대경로 또는 상대경로/파일명")
 
*fgetc()
-용도: 파일로부터 한문자를 읽어들인다.
-방법: fgetc($fp)
 
*filesize()
-용도: 파일의 크기를 바이트수로 반환한다.
-방법: filesize("파일경로/파일명")
 
*file_exists()
-용도: 파일이름으로 지정한 파일이 존재하는지 검사한다.
-방법: file_exists("파일경로/파일명")
 
*is_file()
-용도: 파일이름으로 지정한 이름이 파일면 true를 반환한다.
-방법: is_file("파일경로/파일명")
 
*is_dir()
-용도: 파일이름으로 지정한 이름이 디렉토리일경우 true를 반환한다.
-방법: is_dir("파일경로/파일명")
 
*is_link()
-용도: 파일이름으로 지정한 이름이 심볼릭 링크일경우 true를 반환한다.
-방법: is_link("파일경로/파일명")
 
*is_escutable()
-용도: 파일이름으로 지정한 파일이 실행 가능한 파일이면 true를 반환한다.
-방법: is_excutable("파일경로/파일명")
 
*is_readable()
-용도: 파일이름으로 지정한 파일이나 디렉토리가 읽기 가능한경우 true를 반환한다
-방법: is_readable("파일경로/파일명 또는 디렉토리명")
 
*is_writeable()
-용도: 파일이름으로 지정한 파일이나 디렉토리가 쓰기 가능한 경우 true를 반환한다
-방법: is_writeable("파일경로/파일명 또는 디렉토리명")
 
*copy()
-용도: 파일을 복사하고 제대로 수행이 되면 true를 반환한다.
-방법: copy("파일경로/복사할 파일명", "파일경로/복사된 파일명")
 
*rename()
-용도: 파일을 이름을 바꾼다. 제대로 수행이 되면 true를 반환한다.
-방법: rename("파일경로/변경할 파일명", "파일경로/변경후 파일명")
 
*unlink()
-용도: 파일을 삭제한다. 제대로 수행될 경우 true를 반환한다.
-방법: unlink("파일경로/삭제할 파일명")
 
*mkdir()
-용도: 디렉토리를 생상하고 동시에 권한도 함께 지정할 수 있다.
-방법: mkdir("경로/디렉토리명")
 
*rmdir()
-용도: 디렉토리 삭제
-방법: rmdir("경로/디렉토리명")
 
*basename()
-용도: 경로명과 파일명을 받아 파일명만을 반환한다.
-방법: basename("파일경로/파일명")
 
*dirname()
-용도: 경로명과 파일명을 받아 경로명만을 반환한다.
-방법: dirname("파일경로/파일명")
 
*file()
-용도: 줄단위로 읽어서 각 줄으 문자열을 배열로 하여 반환한다.
-방법: dirname("파일경로/파일명")
 
 
4.디렉토리 관련함수
 
*opendir()
-용도: 지정한 디렉토리에 대한 핸들을 얻는다.
-방법: opendir("디렉토리 경로")
 
*closedir()
-용도: opendir()함수 호출로 열어둔 디렉토리에 대한 핸들을 닫는다.
-방법: closedir($od)
 
*readdir()
-용도: 디렉토리에 있는 모든 디렉토리 및 파일들의 이름을 읽어 배열의 형태로 반환
-방법: readdir($od)
 
*rewinddir()
-용도: 디렉토리 핸들의 포인터 위치를 제일 처음으로 되돌린다.
-방법: rewinddir($od)
 
*chdir()
-용도: 지저한 디렉토리로 바꾼다.
-방법: chdir("경로명/디렉토리명")
 
*dir()
-용도: 디렉토리 관련 함수를 사용할 수 있는 클래스
-방법: dir("경로/디렉토리명")
 
 
5. URL관련함수
 
*parse_url()
-용도: url을 입력하면 해당 url에 대한 정보를 연관 배열로 저장하여 반환
-방법: parse_url("URL주소")
 
*urlencode()
-용도: 데이터를 url인코딩해준다.
-방법: urlencode("문자열")
 
*urldecode()
-용도: url을 통해 넘어온 값 중 인코딩된 문자열을 디코딩한다.
-방법: urldecode("문자열")
 
 
6.변수 및 수학 관련함수
 
*gettype()
-용도: 변수형을 반환한다.
-방법: gettype("변수명")
 
*settype()
-용도: 변수형을 변환한다.
-방법: settype("변수명", "변수타입")
 
*intval()
-용도: 변수값을 정수형 값으로 변환
-방법: intval("변수값")
 
*doubleval ()
-용도: 변수값을 실수형 값으로 변환한다.
-방법: doubleval ("변수값")
 
*strval()
-용도: 변수를 문자형 값으로 변환한다.
-방법: strval("변수값")
 
*isset()
-용도: 변수가 존재하는지 확인한다.
-방법: isset("변수명")
 
*unset()
-용도: 변수를 삭제한다.
-방법: unset("변수명")
 
*empty()
-용도: 변수에 값이 존재하는지 확인하여 없으면 true를 있으면 false를 반환한다.
-방법: empty("변수명")
 
*is_array()
-용도: 변수의 형이 배열인지 확인한다.
-방법: is_array("변수명")
 
*is_double
-용도: 변수의 형이 더블형인지 확인한다.
-방법: is_double("변수명")
 
*abs()
-용도: 변수의 절대값을 반환
-방법: abs("변수명")
 
*round()
-용도: 변수의 반올림한 값을 구한다.
-방법: round("변수명")
 
*ceil()
-용도: 변수 값의 무조건 올림 값을 구한다.
-방법: ceil("변수명")
 
*floor()
-용도: 변수값의 무조건 내림 값을 구한다.
-방법: floor("변수명")
 
*pow()
-용도: 인자 값만큼 제곱승 한 값을 구한다.
-방법: pow("변수명", "제곱할 횟수")
 
*max & min()
-용도: 최대값과 최소값을 구한다.
-방법: max("숫자값", "숫자값",...) min("숫자값", "숫자값",...)
 
 
7.기타 함수
 
*count()/sizeof()
-용도: 배열의 크기를 구한다.
-방법: count("변수명") sizeof("변수명")
 
*each()/list()
-용도: 배열의 내용을 출력할때 사용한다.
-방법: each("배열변수명"), list("배열의 인자를 받을 변수명", "배열의 인자를 받을 변수명"...)
 
*end()/next()/reset()
-용도: 현재 배열의 포인터를 끝이나 다음으로 이동시킨다. reset은 배열포인터를 다시 처음으로 되돌린다.
-방법: end("배열변수명") next("배열변수명")
 
*exec()
-용도: 리눅스 서버의 내부 명령어를 사용하게 한다.
-방법: exec("리눅스명령어", "결과를 저장할 변수명" ,"에러발생시 저장할 변수명")
 
*number_format()
-용도: 천단위마다 ","를 붙여준다.
-방법: number_format("변수명", "소수점자리수", "소수점 표시마크변경", "천단위 표시 마크변경")
 
*show_source() / highlight_string()
-용도: php파일의 소스를 보여준다.
-방법: show_source("경로명/파일명") highlight_string("변수명")
 
*uniqid()
-용도: 유일한 아이디 값을 만들어준다
-방법: uniqid()

PHP 메일 보내기 함수

웹프로그램
function sendmail_ctrl($from_mail, $from_name, $to_mail, $to_name, $subject, $body, $headers)
{
$fp = popen( '/usr/sbin/sendmail -f'.$from_mail.' '.$to_mail,"w");
if(!$fp) return false;

if($to_name){
fputs($fp, "To: $to_name <$to_mail>\n");
}else{
fputs($fp, "To: $to_mail\n");
}

fputs($fp, "From: $from_name <$from_mail>\n");
fputs($fp, "Subject: $subject\n");
fputs($fp, $headers."\n\n");
fputs($fp, $body);
fputs($fp, "\n");
pclose($fp);
return true;
}

PHP 문자열 함수

웹프로그램

string substr(string 문자열, int 시작 [, int 끝])
-> 문자열의 일부를 반환
$string = substr("The cat sat on the mat", 4, 3); // 결과 : 'cat'

int strpos(string 대상 문자열, string 찾을 문자열 [, int 오프셋])
-> 찾는 문자열의 위치
$string = strpost("The cat sat on the mat", "cat"); // 결과 : '4'

chr()은 아스키 코드를 받아서 해당 문자를 출력
ord()은 반대기능
-> echo(char(64)); //결과 '@'
-> echo(ord('@')); //결과 '64'


* 참고.
& -> & amp;
" -> & quot;
< -> & lt;
> -> & gt;

PHP exec 함수로 권한 설정

웹프로그램
exec('chmod -R 777 /home/test/test/*');

php foreach 함수

웹프로그램

PHP 4(PHP 3는 아님)는 펄이나 다른 언어와 같이 foreach구문을 지원합니다. 이런 구문은 간단하게 배열에 대한 작업을 수행하는 가장 쉬운 기법입니다. foreach는 배열에서만 작동하고 다른 데이터형을 갖는 변수나 초기화되지 않은 변수에 대해서 이 구문을 사용하려한다면 에러 메시지를 만날것입니다. 이 구문은 두가지 문법이 있습니다; 두번째보다는 첫번째문법이 더 유용한 사용법입니다:

/* foreach 예제 1: 값만 */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
echo "\$a의 현재 값: $v.\n";
}

/* foreach 예제 2: 값 (키는 가상으로 출력) */

$a = array(1, 2, 3, 17);

$i = 0; /* 가상 목적으로만 사용 */

foreach ($a as $v) {
echo "\$a[$i] => $v.\n";
$i++;
}

/* foreach 예제 3: 키와 값 */

$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);

foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}

/* foreach 예제 4: 다차원 배열 */

$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}

/* foreach 예제 5: 동적 배열 */

foreach (array(1, 2, 3, 4, 5) as $v) {
echo "$v\n";
}

ASP 함수 InstrRev( )

웹프로그램
* InstrRev( ) 함수
 
벌써 ASP 2년을 훌쩍 넘겼는데, 엊그저께 업로드 관련 처리를 하다가 알게된 함수이다. ^^;
(허구 페이스 팔려. ㅜ,ㅡ)
 
---------------------------------------------------------------------
InstrRev(문자열, 지정할 문자) 함수는 특정문자열이 나타나는 위치를 끝에서부터 찾는 함수 입니다.
리턴값이 없을 때에는 [0]을 반환 합니다.
---------------------------------------------------------------------
 
ex ------------------------------------------------------------------
시나리오)자료실의 글쓰기에서 파일 업로드시에 업로드할 파일의 파일 이름을 구한다.
 
filePath = Trim(Request.Porm("txtFilePath")) '--filePath = "c:\board\community\readme.hwp"
fileName = Mid(filePath, InstrRev(filePath, "\")+1) '--fileName="readme.hwp"

[ASP] 문자열 관련 함수

웹프로그램
ASP코드를 작성하다 보면 문자열을 다양한 방식으로 변환하거나 원하는 문자열을 뽑아낸다든지
 
하는 등의 작업들이 필요합니다. 다음 내용은 대표적인 문자열 관련 함수입니다.
 
UCASE, LCASE         => 문자열의 내용을 대문자, 소문자로 변환시켜준다.
LEN                         => 문자열의 길이를 반환한다.
LEFT, RIGHT, MID     => 문자열의 좌, 우, 중간에서 지정한 만큼의 문자열을 뽑아낸다.
INSTR, INSTRREV      => 해당되는 문자열의 좌측, 우측 위치를 반환한다.
LTRIM, RTRIM, TRIM => 문자열의 좌측, 우측, 전체의 공백을 제거한다.
REPLACE                 => 문자열의 내용중 일부를 다른 문자열로 변경한다.
SPLIT                       => 문자열에서 특정 문자열을 기준으로 나누어 배열로 저장한다.
 
 
1. UCASE, LCASE
- UCASE : 문자열의 내용을 모두 대문자로 변환시켜준다.
- LCASE : 문자열의 내용을 모두 소문자로 변환시켜준다.
- 표현법 : UCASE(변환대상문자열), LCASE(변환대상문자열)
<%
strTest = "I Love Kimo"
strUpper = UCASE(strTest)
strLower = LCASE(strTest)
 
Response.Write "원본글 : " & strTest & "<br>"
Response.Write "UCASE : " & strUpper & "<br>"
Response.Write "LCASE : " & strLower & "<br>"
%>
위 소스를 실행해 보면 다음과 같이 출력이 된다.
원본글 : I Love Kimo
UCASE : I LOVE KIMO
LCASE : i love kimo
 
2.  LEN
- 문자열의 길이를 반환합니다.
- 표현법 : Len(검색대상문자열)
<%
strTest1 = "I Love Kimo"
strTest2 = "안녕하세요"
 
intLength1 = LEN (strTest1)
intLength2 = LEN (strTest2)
 
Response.Write intLength1 & "<br>"
Response.Write intLength2
%>
결과를 보면 11과 5가 나옵니다. 영문과 한글모두 글자수 그대로 반환이 됨을 알 수 있습니다.
 
 
3.  LEFT, RIGHT, MID  
- LEFT 는 문자열에서 지정한 숫자만큼 왼쪽에서 부터 추출하여 반환합니다.
- RIGHT 는 문자열에서 지정한 숫자만큼 오른쪽에서 부터 추출하여 반환합니다.
- MID 함수는 문자열의 지정한 위치에서, 지정한 길이 만큼의 문자열을 반환합니다.
- 표현법 : LEFT(문자열,추출길이), RIGHT(문자열,추출길이), MID(문자열,시작위치,추출길이)
<%
strTest = "I Love Kimo"
strLeft = Left(strTest,5)
strRight = Right(strTest,4)
strMId = Mid(strTest,3,2)
 
Response.Write strTest & "<br>"
Response.Write strLeft & "<br>"
Response.Write strRight & "<br>"
Response.Write strMid & "<br>"
%>
위 소스의 결과는 아래와 같습니다. (공백도 한 글자로 인식)
I Love Kimo
I Lov
Kimo
Lo
 
4. INSTR, INSTRREV    
- INSTR은 해당되는 문자열이 좌측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTRREV은 해당되는 문자열이 우측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTR, INSTRREV 은 동일한 문자열이 있을경우 제일먼저 검색이 되는 위치입니다.
- 표현법 : Instr(검색대상,검색문자열),InstrRev(검색대상,검색문자열)
 
<%
strTest = "우리나라에서 제일 큰 강은 한강이다. 우리나라에서 제일 큰 산은 한라산이다"
strInstr = Instr(strTest,"나라")
strInstrRev = InstrRev(strTest,"나라")
 
Response.Write strInstr & "<br>" & strInstrRev
%>
결과를 보면 3 , 24 가 나옵니다. 검색할 문자열에서 "나라" 라는 문자열이 왼쪽에서 처음 검색되는 위치는 3이고 오른쪽에서 부터 검색하면 24가 됩니다.
 
 
5.  LTRIM, RTRIM, TRIM
- LTRIM : 문자열에서 왼쪽에 있는 공백을 제거한 결과를 반환.
- RTRIM : 문자열에서 오른쪽에 있는 공백을 제거한 결과를 반환.
- TRIM   : 문자열에서 양쪽에 있는 공백을 제거한 결과를 반환.
- 표현법 : LTRIM(문자열), RTRIM(문자열), TRIM(문자열)
<%
strTest = "   I Love You   "
strLTrim = LTrim(strTest)
strRTrim = RTrim(strTest)
strTrim = Trim(strTest)
 
Response.Write strTest & "<br>"
Response.Write strLtrim & "<br>"
Response.Write strRtrim & "<br>"
Response.Write strTrim & "<br>"
%>
위소스의 결과를 보면 브라우저에는 아래와 같이 결과가 동일해 보일겁니다.
I Love You
I Love You
I Love You
I Love You
그러나 소스보기를 해서 보면 어떤 차이가 있는지 금방 알 수 있습니다.
    I Love You     <br>I Love You     <br>    I Love You<br>I Love You<br>
원글은 양쪽으로 모두 3칸의 공백이 있고 LTRIM을 한 부분은 왼쪽공백이 제거 되어 있고
RTRIM을 한쪽은 오른쪽 공백이 TRIM을 한곳은 양쪽모두 공백이 제거 되었음을 알 수 있습니다.
 
6.  REPLACE
- 문자열 중에서 특정 내용을 다른 내용으로 바꾸려 할 때 REPLACE 함수를 사용합니다.
이 함수의 사용법은 다음과 같습니다.
- 표현법 : REPLACE(원본문자열,"변경대상문자열","변경할새로운문자열")
<%
strBefore = "I like you.. Do you like me?"
strAfter = REPLACE (strBefore, "like", "love")
Response.Write strBefore & "<br>"
Response.Write strAfter & "<br>"
%>
위 소스의 결과를 보면 위 문장에 있는 "like" 라는 단어가 "love"로 변경 된것을 알 수 있습니다.
이러한 REPLACE구문은 특히 게시판에서 글을 등록시킬때 많이 사용됩니다. (태그를사용하지 못하게 할 경우와 태그를 사용하게 하는 경우)
 
7. SPLIT
- 이 함수는 어떤 문자열에서 특정한 문자열 또는 기호를 기준으로 문자열을 분해한 다음,
분해된 문자열들을 배열에 저장하는 함수입니다.
- 표현법 : REPLACE(원본문자열,"분해기준")
<%
strTemp = "aaa, bbb, ccc, ddd, eee"
arrTemp = Split(strTemp,",")
 
Response.Write arrTemp(0) & "<br>"
Response.Write arrTemp(1) & "<br>"
Response.Write arrTemp(2) & "<br>"
Response.Write arrTemp(3) & "<br>"
Response.Write arrTemp(4) & "<br>"
%>
위 소스에서 strTemp에 저장된 데이터는 "," 를 기준으로 5개의 데이터가 있습니다.
Split 함수를 이용하여 "," 를 기준으로 기존 문자열을 분리하여 배열을 생성했습니다. Split 함수를
이용하면 자동으로 배열이 생깁니다.