PHP 내장함수 프로그램 작업을 하는데 있어 어떠한 기능을 제공하는 함수가 있다는 것을 알고 있는 것과 모르고 작업하는 것은 시간적인 측면이나 소스의 효율적인 측면에서 많은 차이가 납니다. <핵심이 되는 KEY> 1. 문자열과 관련된 PHP 내부함수의 이해 2. MYSQL과 관련된 PHP 내부함수의 이해 3. 파일과 관련된 PHP 내부함수의 이해
문자열 관련 함수 strlen() 함수 11_strlen.html 사용형식 : int strlen ( string str); 입력 받은 문자열의 길이를 구하는 함수 11_strlen.html 사용예제 출력결과 10
문자열 관련 함수 addslashes() 함수 12_adds.html 사용형식 : string addslashes ( string str); 인자로 받은 문자열(str)에 포함된 작은 따옴표나 큰 따옴표 ,역슬래쉬에 해당되는 문자가 있을 경우 그 문자의 앞에 역슬래시 문자를 추가하여 그 값을 다시 반환하는 함수 사용예제 출력결과 php_\'sample php_\\sample
문자열 관련 함수 stripslashes() 함수 13_strip.html 사용형식 : string stripslashes ( string str); 인자로 받은 문자열에 역슬래쉬 문자가 있을 경우 그 역슬래시 문자를 제거하여 그 값을 다시 반환하는 함수 사용예제 출력결과 php_'sample
문자열 관련 함수 nl2br() 함수 14_nl2br.html 사용형식 : string nl2br(string str); 인자로 받은 문자열(str)을 개행 처리 즉 개행 문자인 “\n"을 HTML용 태그인 <BR> 태그로 바꾼 다음 바꾼 문자열을 다시 반환하는 함수 사용예제 출력결과 member blog shopping auction
문자열 관련 함수 number_format() 함수 15_num_format.html 사용형식 : string number_format ( float number [, int decimals]); 인자로 받은 문자열 값을 금액 단위의 문자로 변경하고 바꾼 문자열을 다시 반환하는 함수 사용예제
문자열 관련 함수 number_format() 함수 출력결과 1,234 1,234.00 1,234.00 ”유형1“의 경우에는 숫자 ”1234“라는 값을 ”number_format()" 함수에 넣어 금액을 표현하는 형식인 “1,234”라는 결과 값으로 리턴 “유형2”의 경우에는 공백문자(“”)를 함수에 넣어 “0”이라는 금액 단위의 결과 값이 리턴 “유형3”의 경우에는 "number_format()"함수를 호출할 때 변경할 인자("1234") 이외에 “2”라는 속성을 추가로 넘겨 “1,234.00”이라는 소수점 두 자리로 처리 결과를 리턴
문자열 관련 함수 substr() 함수 16_substr.html 사용형식 : string substr ( string string, int start [, int length]); 인자로 넘긴 문자열(string)의 일부를 선택한 옵션(start)에 맞도록 만든 뒤 다시 반환하는 역할을 하는 함수 사용예제
문자열 관련 함수 substr() 함수 출력결과 abcdef bcdef f abc cde "substr(A,B,C)"라는 형식의 "substr()"함수가 있다면 "A"는 자르려고 하는 문자열에 해당되고 "B"는 "A"문자열의 값 중 어디에서부터 잘라야 하는지의 시작위치에 해당되는 인자이며 "C"는 자르려는 값의 범위(크기)를 의미합니다.
문자열 관련 함수 strrchr() 함수 17_strrchr.html 사용예제 출력결과 사용형식 : string strrchr (string str, string needle); 인자로 넘긴 문자열(str)에서 두번째 인수(needle)에 해당되는 문자가 마지막으로 나오는 부분을 찾아 결과를 리턴 하는 역할을 하는 함수 사용예제 출력결과 sample ple .gif "strrchr(A,B)"함수는 첫번째 인자인 "A"에 해당되는 문자열에서 두 번째 인자인 "B"문자가 마지막으로 포함된 부분을 찾아 문자부터 끝까지의 값을 리턴하는 함수입니다.
문자열 관련 함수 rand() 함수 <? $char1 = rand(); $char2 = rand(0,5); 사용형식 : int rand ( [int min, int max]); 정수형의 난수를 생성해서 결과를 다시 리턴 해주는 역할을 하는 함수 사용예제 <? $char1 = rand(); $char2 = rand(0,5); $char3 = rand(1,100); echo" $char1 <br> $char2 <br> $char3 "; ?> 출력결과 6521 3 9 "rand(A,B)"와 같이 "A,B"라는 범위를 지정한다면 해당 범위에서 범위까지의 값들 중에서 임의의 값을 하나 구해 결과를 리턴 하는 역할을 하는 함수입니다
문자열 관련 함수 <? $char1 = uniqid(2); $char2 = uniqid(2); 사용형식 : string uniqid ( string prefix [, bool lcg]); 마이크로 타임에 기반하여 유니크한 아이디를 생성하여 결과를 리턴 하는 함수 사용예제 <? $char1 = uniqid(2); $char2 = uniqid(2); $char3 = uniqid(rand()); echo" $char1 <br> $char2 <br> $char3 "; ?> 출력결과 242e760b4ba45a 242e760b4ba46b 1457842e760b4ba47b
문자열 관련 함수 <? $char1 = md5(2); $char2 = md5(rand()); 사용형식 : string md5 ( string str [, bool raw_output]); 입력 받는 값(str)의 MD5 해쉬를 계산하여 다시 반환하는 함수 사용예제 <? $char1 = md5(2); $char2 = md5(rand()); $char3 = md5(uniqid(rand())); echo" $char1 <br> $char2 <br> $char3 "; ?> 출력결과 c81e728d9d4c2f636f067f89cc14862c 1113d7a76ffceca1bb350bfe145467c6 44feb4a01c755f5dfa68a8e0598fb541 "md5()"함수는 입력 받은 인자의 해쉬를 계산하여 계산된 결과 값을 호출한 변수로 다시 돌려주는 역할을 하는 함수입니다. 여기서 해쉬 란 16진수 형태의 32자리 문자를 의미하는 합니다.
문자열 관련 함수 <? $char1 = "<"; $char2 = ">"; $char3 = "&"; htmlspecialchars() 함수 사용형식 : string htmlspecialchars ( string string [, int quote_style [, string charset]]); 저장할 변수 내용이 "html이 적용되지 않도록 할 때 사용하는 함수로 특정 html과 관련된 문자를 html이 적용되지 않도록 HTML 엔터티로 바꾸어 저장하는 함수 사용예제 <? $char1 = "<"; $char2 = ">"; $char3 = "&"; echo htmlspecialchars($char1); echo"<br>"; echo htmlspecialchars($char2); echo htmlspecialchars($char3); ?>
문자열 관련 함수 htmlspecialchars() 함수 출력결과 <<br>><br>& <바뀌는 유형> '&'(앰퍼샌드) = > '&' '"'(큰 따옴표) = > '"' '''(작은 따옴표) = > ''' '<'(보다 작음) = > '<' '>'(보다 큼) = > '>'
문자열 관련 함수 chop() 함수 <? $char1 = "php_sample "; $char2 = "테스트"; 사용형식 : string chop( string str [, string charlist]); 입력 받은 문자열의 끝 부분 공백을 제거하여 그 결과를 리턴 하는 역할을 하는 함수 사용예제 <? $char1 = "php_sample "; $char2 = "테스트"; $char3 = " php_sample"; echo chop($char1); echo chop($char2); echo chop($char3); ?> 출력결과 php_sample테스트 php_sample
MYSQL 관련 함수 mysql_connect() 함수 <? //유형1 사용형식 : int mysql_connect ( [string server [, string username [, string password]]]); mysql 접속 아이디 , 패스워드 , 호스트 명을 이용하여 해당 mysql을 접속하는 함수 사용예제 <? //유형1 $link = mysql_connect ("localhost", "root", "") or die ("접속할 수 없습니다"); print ("접속되었습니다"); echo"<br>"; //유형2 $link = mysql_connect ("localhost", "root", "12") or die ("접속할 수 없습니다"); ?>
MYSQL 관련 함수 mysql_connect() 함수 출력결과 접속되었습니다 접속할 수 없습니다 입력하였을 경우의 예로 접속시 오류가 발생하지 않았으므로 ”접속되었습니다“ 라는 문장을 수행 ”유형2“는 ”접속 패스워드“가 틀리므로 MYSQL 서버에 연결될 수가 없어 ”접속할 수 없습니다“ 라는 문장을 수행
MYSQL 관련 함수 <? $link = mysql_connect ("localhost", "root", ""); mysql_select_db() 함수 사용형식 : int mysql_select_db ( string database_name [, int link_identifier]); mysql 접속에 성공한 뒤 사용할 데이터베이스(database_name)를 선택하는 역할을 하는 함수 사용예제 <? $link = mysql_connect ("localhost", "root", ""); mysql_select_db(“php_sample",$link); ?> "mysql_connect()" 함수를 통하여 mysql 서버에 접속을 하였다면 다음은 접속한 mysql 서버에서 사용할 데이터베이스를 선택해야 합니다. 위 예제는 “php_sample"이라는 이름을 가진 데이터베이스를 선택하겠다는 의미입니다. 이렇게 데이터베이스를 선택되고 나면 선택된 데이터베이스에 들어있는 각종 테이블이나 자료를 사용할 수 있어집니다
MYSQL 관련 함수 mysql_query() 함수 <? 사용형식 : int mysql_query ( string query [, int link_identifier]); 현재 서버에서 동작중인 데이터베이스에 해당 질의(SQL)을 전송하는 역할을 하는 함수 사용예제 <? $link = mysql_connect ("localhost", "root", ""); mysql_select_db("php_sample",$link); // 회원 테이블을 불러옵니다. $query = "SELECT * FROM member "; $result = mysql_query($query,$link) or die ("잘못된 질의를 실행했습니다!"); ?> “mysql_connect()” 및 “mysql_select_db()” 함수를 사용하여 데이터베이스에 접속하고 난 뒤 실제 프로그램에서 사용할 “SQL"을 실행시키기 위한 작업을 수행하는 예입니다. ”SELECT * FROM member“라는 ”SQL"구문을 MYSQL에 전송하고 그 질의(SQL)이 올바른 것이라면 “true"를 올바르지 않다면 ”false"를 반환합니다.
MYSQL 관련 함수 mysql_num_rows() 함수 <? 사용형식 : int mysql_num_rows ( int result); 결과 셋으로부터 열의 수를 반환 받는 함수로 주로 총 자료의 수나 관련 데이터의 수 처럼 해당 테이블의 자료 수를 구할 때 이용됩니다 사용예제 <? $link = mysql_connect ("localhost", "root", ""); mysql_select_db("php_sample",$link); // 회원 테이블을 불러옵니다. $query = "SELECT * FROM member "; $result = mysql_query($query,$link) or die ("잘못된 질의를 실행했습니다!"); $tot = mysql_num_rows($result); echo $tot; ?> 출력결과 2
MYSQL 관련 함수 mysql_num_rows() 함수 "SELECT * FROM member"라는 “SQL" 구문의 결과에 해당되는 자료의 수를 ”$tot"라는 변수에다 저장한 후 그 변수를 화면에 보여줍니다. mysql_num_rows() 함수는 SELECT절에서 반환된 결과 셋만 사용이 가능하며 만약 INSERT, UPDATE, DELETE 구문으로부터 실행된 열의 개수를 얻으려면 mysql_affected_rows() 함수를 사용하시면 됩니다.
MYSQL 관련 함수 mysql_fetch_array() 함수 <? 사용형식 : array mysql_fetch_array ( int result [, int result_type]); 데이터베이스의 특정 테이블로부터 가져온 결과값을 행에 대응되는 배열로 돌려주는 역할을 하는 함수 사용예제 <? $link = mysql_connect ("localhost", "root", ""); mysql_select_db("php_sample",$link); // 회원 테이블을 불러옵니다. $query = "SELECT * FROM member "; $result = mysql_query($query,$link) or die ("잘못된 질의를 실행했습니다!"); $rows = mysql_fetch_array($result); echo "$rows[id] , $rows[name] "; ?> 출력결과 phpuser , 공성현
파일(FILE) 관련 함수 copy() 함수 <? 사용형식 : int copy (string source, string dest); 파일 업로드 시 사용하였던 함수로 서버에 파일의 복사본을 만드는 역할을 하는 함수 사용예제 <? if(!copy($file,"up_load/s/$file_name")){ echo "파일을 복사하지 못했습니다."; } ?> “$file"이란 변수에 들어있는 파일의 정보를 이용하여 서버의 “upload/s" 디렉토리에 "$file_name"변수의 이름으로 파일을 저장시키겠다는 용도로 사용됩니다.
파일(FILE) 관련 함수 fopen() 함수 <? //유형1 사용형식 : int fopen ( string filename, string mode [, int use_include_path]); 첫 번째 인자에 해당되는 "filename"파일을 두 번째 인자인 "mode"변수의 형식으로 여는 역할을 하는 함수 사용예제 <? //유형1 $res1 = fopen("php_sample.txt","r"); //유형2 $res2 = fopen("php_sample.txt","r+"); //유형3 $res3 = fopen("php_sample.txt","w"); ?>
파일(FILE) 관련 함수 fopen() 함수 "유형1"은 "fopen()"함수의 옵션 중 "r"속성을 사용하여 열기 때문에 읽기전용으로 파일을 여는 형태 "유형2"는 "r+"속성을 사용하여 파일을 오픈 시키므로 읽기 및 쓰기가 가능한 형태 "유형3"은 "fopen()"함수의 속성 중 "w"속성을 사용하므로 쓰기전용으로 파일을 여는 형태 -- fopen의 속성(두번째인자) – 1) r : 읽기 전용으로 파일을 여는 것으로 파일의 포인트는 시작위치에 있습니다. 2) r+ : 읽기와 쓰기가 가능하게 파일을 열고 파일 포인트는 시작위치입니다. 3) w : 쓰기 전용으로 파일을 열고 파일 포인트는 시작위치이며 파일이 있을 경우 덮어쓰고 없을 경우에는 신규로 생성합니다. 4) w+ : 읽기와 쓰기가 가능하며 파일 포인트는 시작위치이고 파일이 있을 경우 덮어쓰고 5) a : 쓰기 전용으로 파일을 열고 파일 포인트는 마지막에 위치합니다.
파일(FILE) 관련 함수 fread() 함수 <? $res = fopen("php_sample.txt","r"); 사용형식 : string fread ( int fp, int length); fopen() 함수로 연 파일의 정보를 읽어 내는 함수로서 파일을 열었을 경우의 파일 포인트부터 원하는 위치까지의 자료를 읽어 오는 역할을 하는 함수 사용예제 <? $res = fopen("php_sample.txt","r"); $char = fread($res,5); echo $char; ?> 출력결과 fread
파일(FILE) 관련 함수 fclose() 함수 <? $res = fopen("php_sample.txt","r"); 사용형식 : int fclose (int fp); fopen()으로 열었던 파일의 포인트를 닫는 역할을 하는 함수 사용예제 <? $res = fopen("php_sample.txt","r"); fclose($res); ?> "fopen()"함수를 이용하여 파일을 오픈 시키고 필요한 작업을 처리한 후 오픈 시켰던 파일을 클로즈(fclose) 시키는 과정의 예제입니다. 파일을 클로즈 시킬때는 오픈(fopen)할 때 사용하였던 변수를 그대로 사용하여 클로즈 시키면 원하는 파일을 "fclose()"시킬 수 있습니다.
파일(FILE) 관련 함수 unlink() 함수 <? //유형1 $file_name = "php_sample.txt"; 사용형식 : int unlink ( string filename); 인수로 넘어오는 filename에 해당되는 정보를 해당 위치에서 찾아 삭제하는 함수 사용예제 <? //유형1 $file_name = "php_sample.txt"; unlink($file_name); ?> "php_sample.txt" 파일이 삭제됩니다. rmdir () 함수 unlike() 함수가 파일의 삭제를 담당하는 함수라면 rmdir() 함수는 디렉토리를 삭제하는 함수입니다. 단 디렉토리를 제거하려고 할 때 디렉토리는 비어 있어야 하고 관련 퍼미션(디렉토리의 사용권한)은 디렉토리 삭제가 실행될 수 있도록 권한이 있어야 합니다
파일(FILE) 관련 함수 file_exists() 함수 <? //유형1 사용형식 : bool file_exists ( string filename); 인수로 넘어오는 위치에 파일이 존재하는지의 여부를 확인하기 위한 함수 사용예제 <? //유형1 $file_name = "php_sample.txt"; $char = file_exists($file_name); echo $char; echo"<br>"; //유형2 $file_name = "http://localhost/php_sample.txt"; ?> 출력결과 1
파일(FILE) 관련 함수 file_exists() 함수 "유형1"은 "$file_name"변수를 "php_sample.txt"로 정의하고 "file_exists()"함수에 적용하여 "php_sample.php"파일이 실제로 존재하는지의 여부를 확인한 뒤 그 결과를 "$char"변수에 넘겨주는 형식의 예제이며 파일이 실제로 존재하기 때문에 TRUE("1")를 결과로 넘겨받습니다. "유형2"는 "유형1"과 동일한 곳에 위치하는 파일이지만 파일선언을 할 때 원격형식("http://")으로 선언을 하였으므로 "file_exists()"함수를 통해 파일의 존재여부를 확인할 수 없으므로 FALSE를 결과로 넘겨받습니다.
파일(FILE) 관련 함수 getimagesize() 함수 <? 사용형식 : array getimagesize (string filename); 인수로 넘긴 변수(filename)에 해당되는 파일을 찾아 그 파일의 사이즈를 구하기 위한 함수 사용예제 <? $img_ary = getimagesize("img/noimage.gif"); echo "이미지 넓이 : $img_ary[0] "; echo "<br>"; echo "이미지 높이 : $img_ary[1] "; ?> 출력결과 이미지 넓이 : 100 이미지 높이 : 100
기타 함수 date() 함수 18_date.html 사용형식 : string date ( string format [, int timestamp]); date() 함수는 용어 그대로 날짜와 관련된 정보를 구해서 그 값을 다시 리턴시켜주는 역할을 하는 함수 사용예제 출력결과 ex1: 2005-07-07 ex2: 05-07-07 02:31:10 ex3: 050202 ex4: 2005
기타 함수 date() 함수 ”$ex1" 변수에는 date 함수의 ”Y-m-d“ 옵션을 사용하여 현재시간을 ”년(4자리)-월-일” 형태로 받아오겠다는 의미 “$ex2"변수는 현재시간을 ”년(두자리)-월-일 시:분:초“ 형태로 받아오겠다는 의미 ”$ex3"변수는 현재시간이 아닌 “2005-02-02”라는 시간을 “년(두자리)월일” 형태로 변경하여 받아오겠다는 의미 “$ex4"변수는 현재시간의 년도(4자리)를 받아오겠다는 의미
기타 함수 mail() 함수 <? //유형1 string mail(받는사람, 메일제목 ,메일내용, 추가정보) ; 메일 발송을 담당하는 함수 사용예제 <? //유형1 $result = mail("user2@naver.com","mail_test","mail test"); //유형2 $s_name = "길벗"; $s_mail = "user1@naver.com"; $r_mail = "user2@naver.com"; $subject = "메일예제 제목"; $content = "<b>메일예제 본문</b>"; $mailheaders = "Return-Path: $s_mail\r\n"; $mailheaders .= "From: $s_name <$s_mail>\r\n"; $mailheaders .= "Content-Type: text/html; charset=euc-kr\r\n"; $result = mail($r_mail,$subject,$content,$mailheaders); ?>
기타 함수 mail() 함수 "유형1"은 "mail()"함수의 기본형태로 "mail()"함수 안에다 "받는 사람, 메일제목, 메일내용" 순으로 넣어서 메일이 발송되도록 처리한 방법 "유형2"는 "받는 사람", "메일제목, "메일내용" 이외에 메일주소가 틀렸을 경우에 다시 돌려받을 메일주소나 보내는 사람의 이름 , 보내는 사람 이메일 , 메일본문에서의 "HTML"적용까지 고려하여 메일을 발송하는 방법
기타 함수 sizeof() 함수 사용형식 : string sizeof (mixed var [, int mode])); 사용예제 인자로 넘어오는 배열 값의 크기를 구하여 리턴하는 역할을 하는 함수 사용예제 <? $char[0] = "A"; $char[1] = "B"; $char[2] = "C"; $ary_size = sizeof($char); echo" 배열의 크기 : $ary_size "; ?> 출력결과 배열의 크기 : 3
기타 함수 isset() 함수 <? $char1 = "php_sample"; $char3 = ""; 사용형식 : bool isset ( mixed var [, mixed var [, ...]]); 함수의 값으로 넘긴 변수가 존재하면 TRUE를, 존재하지 않는 다면 FALSE를 반환하는 함수 사용예제 <? $char1 = "php_sample"; $char3 = ""; $result1 = isset($char1); $result2 = isset($char2); $result3 = isset($char3); echo "$result1 <br>"; echo "$result2 <br>"; echo "$result3 <br>"; ?>
기타 함수 isset() 함수 출력결과 1 "isset()"함수는 변수가 존재하는지의 여부를 확인하는 함수로 위의 예제에서처럼 "$char1"과 "$char3"변수 만을 선언한 채 "isset()"함수로 "$char1","$char3"변수 및 존재하지 않는 "$char2"라는 변수를 "isset()"함수에 넣어 어떤 값이 "true"가 되고 어떤 값이 "false"가 되는지 확인하는 과정입니다.
보고서 작성하기 다음의 함수를 찾아 “사용 형식”, “예제”, “결과”를 보아라 bin2hex split strpos trim getimeofday time