2020. 5. 27. 15:33ㆍ기초공부/프로그래밍
include / require
둘다 이미 작성한 php파일을 다른 php 파일에서 사용할 때 사용
include는 파일의 경로나 파일명에 문제가 있어도 오류를 발생시키지 않음
require는 파일의 경로나 파일명에 문제가 있다면 오류를 발생시킴
<?php
include "./70-1-include.php"; // 이미 저장해둔 70-1-include.php 파일을 불러옴
require "./70-1-require.php";
?>
※ include_once / require_once
정규 표현식
preg_match(패턴, 검사할 텍스트, 반환할 패턴 일치 결과를 받을 변수)
패턴
$pattern = '/패턴 입력할 곳/';
첫 번째 글자를 적용하는 기호 ^
끝나는 글자를 적용하는 기호 $
패턴식은 검사할 바이트 수나 횟수를 지정하지 않으면 기본적으로 1byte를 검사한다.(1글자)
ex) '/^i$/' → 특정한 문자열이 i로 시작하고 i로 끝나는지 확인하는 패턴
문자열이 i이면 true
문자열이 ii이면 false
이 경우 1byte 이상을 검사하는 기호인 +를 사용한다.
'/^i+$/' → 특정한 문자열이 i로 시작하고 i로 끝나는지 확인하는 패턴, + 기호를 통해 1byte 이상도 ok
문자열이 i이던 iiiii이던 true
<값이 모두 한글로 구성되어 있는지 확인하는 방법>
한글은 '가'로 시작하여 '힣'으로 끝나므로 → '/^[가-힣]$/'
하지만 영문과 다르게 한글은 한 글자가 3byte 이므로 → '/^[가-힣]{3}$/' 이런식으로 표기
$pattern = '/^[가-힣]{3}$/' 는 한글 1글자 검사
$pattern = '/^[가-힣]{9}$/' 는 한글 3글자 검사
$pattern = '/^[가-힣]{9, 15}$/' 는 한글 3글자에서 5글자까지 검사
$pattern = '/^[가-힣]{9, }$/' 는 한글 3글자 이상인지 검사
<값이 영문 대문자로 구성되어 있는지 확인하는 방법>
영문은 'A' 부터 시작해 'Z'로 끝나므로 → '/^[A-Z]$/'
영문은 한 글자가 1byte 이므로 2byte 이상 표현하려면 → '/^[A-Z]+$/'
<값이 영문 소문자로 구성되어 있는지 확인하는 방법>
영문은 'a' 부터 시작해 'z' 로 끝나므로 → '/^[a-z]$/'
영문은 한 글자가 1byte 이므로 2byte 이상 표현하려면 → '/^[a-z]+$/'
<값이 영문으로 구성되어 있는지 확인하는 방법>
소문자, 대문자 상관없이 영문인지만을 확인하는 방법은 '/^[a-zA-Z]$/'
※ 영문 대문자와 소문자 그리고 한글로 구성된 패턴식은 '/^[a-zA-Z가-힣]$/'
<패턴식을 통해 띄어쓰기와 .(점)을 허용하는 방법>
ex) '/^[가-힣]+. $/' (.(점) 뒤에 띄어쓰기(공백) )
<값이 숫자로 구성되어 있는지 확인하는 방법>
숫자는 '0' 부터 시작해 '9'로 끝나므로 → '/^[0-9]$/', '/^[0-9]+$/'
Quiz) 정규표현식으로 휴대전화번호 유효성 검사하기
^가 [ ] 안에 있을경우 처음에 위치하면 안되는 문자를 지정한다 → [^0 ] 맨처음에 0이 위치하지 않게 하는 패턴식
→ '/^(010|011|016|017|018|019)-[^0][0-9]{3,4}-[0-9]{3,4}$/'
Quiz) 정규표현식으로 이메일 주소 유효성 검사하기
→ '/^[a-zA-Z]{1}[a-zA-Z0-9.\-_]+@[a-z0-9]{1}[a-z0-9\-]+[a-z0-9]{1}\.(([a-z]{1}[a-z.]+[a-z]{1})|([a-z]+))$/'
filter_Var('검사할 값', 키)
filter_Var('검사할 값', FILTER_VALIDATE_EMAIL) 함수를 통해 이메일 주소의 유효성을 검사 가능
filter_Var('검사할 값', FILTER_VALIDATE_URL) 함수를 통해 URL 주소의 유효성을 검사 가능
filter_Var('검사할 값', FILTER_VALIDATE_IP) 함수를 통해 IP 주소의 유효성을 검사 가능
filter_Var('검사할 값', FILTER_VALIDATE_URL) 함수를 통해 URL 주소의 유효성을 검사 가능
filter_Var('검사할 값', FILTER_VALIDATE_INT) 함수를 통해 값이 정수인지 검사 가능
filter_Var('검사할 값', FILTER_VALIDATE_FLOAT) 함수를 통해 값이 실수인지 검사 가능
mkdir(경로와 생성할 디렉터리 이름, 퍼미션 설정값) 함수
→ 디렉터리를 생성하는 함수 (같은 이름의 폴더가 이미 있는경우 실패)
ex) mkdir('hello', 777) → /htdocs/PHP 폴더에 hello라는 디렉터리를 생성하고 퍼미션은 777
(모든사람에게 읽기 쓰기 실행권한 부여)
is_dir('확인할 폴더명') 함수
→ 폴더명에 해당하는 디렉터리가 존재하는지 확인하여 존재하면 true 존재아지 않으면 false
opendir('열 폴더명') 함수
→ 폴더에 있는 파일의 목록을 불러오려면 해당 폴더를 여는 작업이 필요한데 그 때 사용하는 함수
readdir('읽을 폴더명') 함수
→ opendir 함수를 이용해 연 폴더의 내용을 읽을 수 있는 함수
(readdir 함수는 폴더의 내용을 한 줄씩 읽어온다. 그러므로 전체를 보려면 while문 이용)
폴더 안에 어떤 파일과 폴더가 있는지 알고자 할 때 사용한다.
while문을 통해 readdir 함수를 이용하여 폴더의 내용을 처음부터 끝까지 확인한 후
다시 readdir 함수를 사용하면 기능하지 않음
그때, rewinddir( ) 함수를 이용해 처음부터 폴더의 데이터를 읽을 수 있음
closedir('닫을 폴더명') 함수
→ opendir 함수를 이용해 연 폴더를 닫을 때 사용하는 함수
rmdir('삭제할 폴더명') 함수
→ 생성한 디렉터리를 삭제할 때 사용하는 함수
fopen('파일 경로 및 파일명', '파일을 여는 옵션') 함수
→ 파일을 여는 함수
옵션 | 의미 |
r | 파일을 읽기 전용으로 열기(이 옵션으로 파일을 열면 쓰기 불가) read only |
w | 파일을 쓰기 전용으로 열기(기존 파일이 있을 경우, 내용이 삭제되고 처음부터 다시 씀) write only |
a | 파일을 쓰기 전용으로 열기(기존 파일이 있을 경우, 내용 뒤에 덧붙임) append only |
r+ | 파일을 읽고 쓸 수 있도록 열기(기존에 파일이 있을 경우, 내용이 삭제되고 처음부터 다시 씀) |
a+ | 파일을 읽고 쓸 수 있도록 열기(기존 파일이 있을 경우, 내용 뒤에 덧붙임) |
fclose('파일명') 함수
→ 파일을 닫는 함수
fwrite( ) 함수
→ 파일에 내용을 쓸 때 사용하는 함수
$fp = fopen('파일 경로와 파일명', 'w');
fwrite($fp, '파일에 쓸 내용');
fread( ) 함수
→ 파일의 내용을 읽을 때 사용하는 함수
$fp = fopen('파일 경로와 파일명', 'r+')
$fr = fread($fp, '불러올 용량')
불러올 용량은 filesize('파일 경로와 파일명') 함수를 이용해 확인
filesize( )함수 사용시 파일이 없으면 오류가 생기므로 file_exists('파일명') 함수를 통해 파일의 존재 확인
fgets( ) 함수
→ 파일의 내용을 한 라인씩 불러오는 함수
$fopen = fopen('파일 경로 및 파일명', 'r+')
$fread = fgets($fopen, '불러올 용량')
※ fread와 fgets 함수의 차이는 fgets 함수는 줄 바뀜을 만나면 가져오는것을 종료함. 즉, 한 줄만 가져올 수 있음
setCookie('쿠키명', '쿠키값', 폐기 시간, '경로' ) 함수
→ 쿠키를 생성하는 함수
※ 쿠키 폐기 시간을 현재로부터 하루로 설정하는 방법
setCookie('myCookie', '1234', time()+86400, '/') // 현재 시간 에 하루 24시간을 초로 환산한 86400을 더함
$_COOKIE[쿠키명]
→ 쿠키의 값을 출력
ex) echo $_COOKIE('myCookie')
1234 를 출력
※ 쿠키를 삭제하는 방법
setCookie('쿠키명', '쿠키값', time( )-100)
위의 함수처럼 폐기시간을 현재시간 ( time( ) ) 보다 낮은 값으로 설정하면 삭제
세션 생성 및 사용
session_start( )
$_SESSION['세션명'] = 세션값
# 주의사항 seesion_start( ) 함수 앞에 코드가 있으면 안된다.
세션 삭제
unset($_SESSION['세션명'])
※ isset($_SESSION['세션명']) 함수 → 세션의 존재 유무 확인
※ 생성된 모든 세션을 삭제하려면 session_destroy( ) 함수를 사용
show_source( ) 함수
웹페이지에 php 파일의 코드를 출력할 때 사용하는 함수
운영체제 명령어
함수 | 함수 설명 |
exec | 외부 프로그램을 실행하는 함수 string exec(string command, string [array], int [return_var]) |
system | 외부 프로그램을 실행하는 함수 string system(string command, int [return_val]) |
passthru | 외부 프로그램을 실행하는 함수 string passthru(string command, int [return_var]) |
shell_exec | 명령어를 운영체제 쉘을 통해서 수행 $save = shell_exec('command') |
'' (backtick) | 명령어를 운영체제 쉘을 통해서 수행하고 출력된 결과의 모든 문자열을 반환 $save = 'command' |
'기초공부 > 프로그래밍' 카테고리의 다른 글
Selenium 창 변경 (0) | 2020.12.26 |
---|---|
PHP 기초 - 2 (0) | 2020.05.27 |
PHP 기초 - 1 (0) | 2020.05.23 |