Skip to content

Instantly share code, notes, and snippets.

@hibiyasleep
Last active March 19, 2018 06:09
Show Gist options
  • Save hibiyasleep/564190f71b9cb9a3c5b1 to your computer and use it in GitHub Desktop.
Save hibiyasleep/564190f71b9cb9a3c5b1 to your computer and use it in GitHub Desktop.
php-handdoc.md

PHP functions explanation

Chapter 1: Date and Time functions

date

string date ( string $format [, int $timestamp = time() ] )

현재 시간 또는 주어진 타임스탬프를 포매팅합니다.

인수

$format

사용할 수 있는 포맷 문자들은 다음과 같습니다:

Character Description Example
----
d 두 자리로 이루어진 일 값입니다. 01~31
j 앞자리에 0이 포함되지 않는 일 값입니다. 1~31
D 요일의 세 글자 영문 표기입니다. Mon~Sun
l 요일의 완전한 영어 표기입니다. Monday~Sunday
w 요일의 숫자 표기입니다. 0(일)~6(토)
N 요일의 숫자 표기입니다. (ISO-8601) 1(월)~7(일)
z 1월 1일 이후로 흐른 날의 수입니다. 0~365
----
W 이번 주의 순서를 나타냅니다. (ISO-8601) 42(번째 주)
----
S 월 값에 대한 영어 접미어 표기입니다. st, nd, rd, th
F 월의 완전한 영어 표기입니다. January~December
M 달의 세 글자 영문 표기입니다. Jan~Dec
m 두 자리로 이루어진 월 값입니다. 01~12
n 앞자리에 0이 포함되지 않는 월 값입니다. 1~12
t 이번 달의 날 수입니다. 28~31
----
L 윤년 여부입니다. 1 or 0
Y 연도입니다. (ISO-8601) 1999 or 2014 etc.
y 두 자리로 표시된 연도입니다. 99 or 14 etc.
---- 시간
a 소문자의 am/pm 표기입니다. am or pm
A 대문자의 AM/PM 표기입니다. AM or PM
B 하루를 1000으로 쪼갠 시간 중 현재의 값입니다. 000~999
g 앞자리에 0이 포함되지 않는 12시간제 시각입니다. 1~12
G 앞자리에 0이 포함되지 않는 24시간제 시각입니다. 0~24
h 두 자리 12시간제 시각입니다. 01~12
H 두 자리 24시간제 시각입니다. 00~23
i 두 자리 분 값입니다. 00~59
s 두 자리 초 값입니다. 00~59
u μs 값입니다. integer형 타임스탬프를 사용하는 제약으로 인해, date()는 항상 000000을 표시합니다.
---- 시간대
e 시간대 ID입니다. GMT, KST, Asia/Seoul etc.
I DST(섬머타임) 여부입니다. 1 or 0
O GMT와의 시각 차입니다. +0900 etc.
P O와 같지만, 시와 분 사이에 :을 삽입합니다. +09:00 etc.
T 시간대의 약칭입니다. GMT, KST etc.
Z GMT와의 시각 차이를 초 단위로 나타냅니다. -43200~50400
---- 긴 날짜/시각
C ISO-8601 시간 문자열입니다. 2014-05-11T01:55:47+09:00
r RFC 2822 시간 문자열입니다. Sun, 11 May 2014 01:56:21 +0900
U UNIX epoch로부터 지난 초입니다. (timestamp) 1399741024
$timestamp

만약 값이 주어지면, 문자열 포매팅은 이 타임스탬프를 이용해 이루어집니다. 없으면 현재 타임스탬프가 사용됩니다.

getdate

array getdate ([ int $timestamp = time() ] )

날짜/시각 정보를 배열로 얻어옵니다.

Example

print_r(getdate());

# Array (
#   [seconds] => 50
#   [minutes] => 0
#   [hours] => 13
#   [mday] => 10
#   [wday] => 6
#   [mon] => 5
#   [year] => 2014
#   [yday] => 129
#   [weekday] => Saturday
#   [month] => May
#   [0] => 1399741250
# )

checkdate

bool checkdate ( int $month , int $day , int $year )

주어진 년/월/일이 올바른지 확인합니다.

time

int time ( void )

현재의 타임스탬프를 리턴합니다.

mktime

int mktime (
    [ int $hour = date("H")
    [, int $minute = date("i")
    [, int $second = date("s")
    [, int $month = date("n")
    [, int $day = date("j")
    [, int $year = date("Y")
    [, int $is_dst = -1
]]]]]]] )

시간을 타임스탬프로 변환합니다. 주어지지 않은 값은 모두 현재의 값으로 대체됩니다.

microtime

string microtime ( void )
float microtime ( bool $get_as_float = true )

현재의 타임스탬프를 μs 값으로 리턴합니다.

Chapter 2: Math functions

ceil

float ceil ( float $value )

올림 연산을 수행합니다.

floor

float floor ( float $value )

버림 연산을 수행합니다.

round

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

정수를 반올림합니다.

인수

$precision

몇 번째 자리수로 반올림할지 지정합니다.

$mode
상수 설명
PHP_ROUND_HALF_UP .5를 절대값이 큰 쪽으로 반올림합니다.
PHP_ROUND_HALF_DOWN .5를 절대값이 작은 쪽으로 반올림합니다.
PHP_ROUND_HALF_EVEN 짝수 값으로 반올림합니다.
PHP_ROUND_HALF_ODD 홀수 값으로 반올림합니다.

rand

int rand ( [ int $min = 0 , int $max = getrandmax() ] )

$min에서 $max 사이의 랜덤한 정수 값을 반환합니다. libc의 rand()를 사용합니다. 일부 플랫폼에서 getrandmax()의 값은 32768이기 때문에 이 이상 범위의 난수를 생성할 수 없으므로, mt_rand()를 사용해야 합니다.

mt_rand

int mt_rand ( [ int $min = 0 , int $max = mt_getrandmax() ] )

rand()와 같지만, 조금 더 나은 난수 생성을 제공합니다.

number_format

string number_format ( float $number [, int $decimals = 0 [, string $dec_point = "." , string $thousands_sep = "," ]] )

숫자를 well-formed하게 포매팅합니다.

인수

$decimals

소수점 수를 지정합니다.

dec_point

소수점에 사용할 문자를 지정합니다. 기본값은 .입니다.

thousands_sep

천 자리의 구별자를 지정합니다. 기본값은 ,입니다.

Example

$number = 123456789;
echo number_format($number);                            # 123,456,789
echo number_format($number, 1);                         # 123,456,789.0
echo number_format($number, 2, '.', '-');               # 123-456-789.00

Chapter 3: String processing functions

strstr (=strchr)

string strstr ( string $haystack , mixed $needle [, bool $before_needle ] )

$haystack 안에서 $needle이 처음 나타나는 곳 이후의 문자열을 반환합니다. $before_needleTRUE라면, 처음 나타나는 곳 이전의 문자열을 반환합니다.

Example

$string = 'slightpaper@gmail.com';
echo strstr($string, '@');				# gmail.com
echo strstr($string, '@', 1);			# slightpaper

strlen

int strlen ( string $string )

주어진 문자열의 길이를 반환합니다.

Example

echo strlen('Hello, World!');			# 13
echo strlen('');						# 0
echo strlen('quick brown fox-jumps over-the lazy dog.');
										# 40

strpos

int strpos ( string $haystack , mixed $needle [, int $offset ] )

$haystack에서 $needle이 처음 나타나는 위치를 찾습니다. $offset이 지정되어 있다면, $offset의 위치부터 찾습니다.

Example

$string = 'quick brown fox-jumps over-the lazy dog.';
#          ^    ^    ^    ^    ^    ^    ^    ^   ^
#          0    5   10   15   20   25   30   35  38
echo strpos($string, '-');              # 15
echo strpos($string, '-', 20);          # 26

substr

string substr ( string $string , int $start [, int $length ] )

$string에서 $start번째 인덱스부터 $length만큼의 문자열을 반환합니다. $length가 지정되지 않았다면 끝까지 반환됩니다.

Example

$string = 'quick brown fox-jumps over-the lazy dog.';
#          ^    ^    ^    ^    ^    ^    ^    ^   ^
#          0    5   10   15   20   25   30   35  38
echo substr($string, 21);               # over-the lazy dog.
echo substr($string, 6, 5);             # brown

str_replace

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

$subject에서 모든 $search$replace로 바꿉니다. $count가 지정되어 있다면, 그 횟수만큼만 바꿉니다.

Example

$string = 'quick brown fox-jumps over-the lazy dog.';
#          ^    ^    ^    ^    ^    ^    ^    ^   ^
#          0    5   10   15   20   25   30   35  38
echo replace('fox', 'unifox', $string);
                                        # quick brown unifox...

substr_replace

mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )

$string에서 $start번째 인덱스부터 $length만큼의 문자열을 $replacement로 바꿉니다. $length가 지정되지 않았다면 끝까지 바꿉니다.

Example

$string = 'quick brown fox-jumps over-the lazy dog.';
#          ^    ^    ^    ^    ^    ^    ^    ^   ^
#          0    5   10   15   20   25   30   35  38
echo substr_replace($string, 'kills', 16, 10);
                            # quick brown fox-kills-the lazy dog.

explode

array explode ( string $delimiter , string $string [, int $limit ] )

$string$delimiter으로 쪼갠 배열을 반환합니다. $limit이 지정되어 있다면, 지정된 횟수만큼만 쪼갭니다.

Example

$string = 'quick brown fox jumps over the lazy dog.';
var_dump(explode(' ', $string));

#   array(8) {
#       [0]=> string(5) "quick"
#       [1]=> string(5) "brown"
#       [2]=> string(3) "fox"
#       [3]=> string(5) "jumps"
#       [4]=> string(4) "over"
#       [5]=> string(3) "the"
#       [6]=> string(4) "lazy"
#       [7]=> string(4) "dog."
#   }

implode

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

$pieces$glue로 붙입니다. $glue가 없다면 공백 문자가 사용됩니다.

Example

$array = array(
    'quick', 'brown', 'fox',
    'jumps', 'over',
    'the', 'lazy', 'dog.'
)
echo implode('-', $array);
# 'quick-brown-fox-jumps-over-the-lazy-dog.'

echo implode($array);
# 'quick brown fox-jumps over-the lazy dog.'

strcmp

int strcmp ( string $str1 , string $str2 )

두 문자열을 비교합니다. $str1이 더 작으면 음수를, $str2가 더 작으면 양수를 반환합니다.

Example

$string1 = 'quick brown fox jumps over the lazy dog.';  # big
$string2 = 'slow brown fox jumps over the lazy dog.';   # small

echo strcmp($string1, $string2);                        # -1

strip_tags

string strip_tags ( string $str [, string $allowable_tags ] )

$str에서 HTML/PHP 태그를 걸러냅니다. $allowable_tags로 걸러내지 않을 태그를 지정할 수 있습니다. HTML 주석과 PHP 태그의 걸러내기는 하드코딩되어 있어, $allowable_tags로 예외 지정을 할 수 없습니다.

Example

$string = "<!-- Nice fox! -->
<ins>quick</ins> <span class=\"brown\">brown</span> fox 
<sup>jumps over</sup> <sub>lazy</sub> dog.";

echo strip_tags($string, '<!----><ins>');
# <ins>quick</ins> brown fox jumps over lazy dog.

htmlentities

string htmlentities (
    string $string 
    [, int $flags = ENT_COMPAT | ENT_HTML401
    [, string $encoding = "UTF-8"
    [, bool $double_encode = true ]]]
)

가능한 모든 문자를 HTML 엔티티로 변환합니다.

인수

$flags
상수 이름 설명
ENT_COMPAT 큰 따옴표만 변환하고 작은 따옴표는 남깁니다.
ENT_QUOTES 작은 따옴표만 변환하고 큰 따옴표는 남깁니다.
ENT_NOQUOTES 큰 따옴표와 작은 따옴표를 모두 남김니다.
ENT_IGNORE 잘못된 문자를 discard합니다. 보안상 권장하지 않습니다.
ENT_SUBSTITUTE 잘못되거나 표현할 수 없는 문자를 U+FFFD (UTF-8) 또는 &#fffd; (다른 인코딩)으로 교체합니다.
ENT_DISALLOWED 지정된 문서 타입에 따라 잘못된 문자를 U+FFFD (UTF-8) 또는 &#fffd; (다른 인코딩)으로 교체합니다. 외부 컨텐츠가 임베드된 XML 문서의 well-form을 보장합니다.
ENT_HTML401 코드를 HTML 4.01로 처리합니다.
ENT_XML1 코드를 XML 1로 처리합니다.
ENT_XHTML 코드를 XHTML로 처리합니다.
ENT_HTML5 코드를 HTML 5로 처리합니다.
$encoding

변환에 사용될 인코딩을 지정합니다.

버전 기본값
5.4 이전 iso-8859-1
5.4 utf-8
5.6- default_charset
$double_encode

TRUE로 지정되어 있으면 이미 존재하는 HTML 엔티티도 한 번 더 인코드합니다.

Example

$string = "a 'quick brown fox' jumps over <small>lazy dog</small>.";
var_dump(htmlentities($string, ENT_NOQUOTES | ENT_HTML5);
# 로컬의 PHP가 5.2라 테스트 불가

htmlspecialchars

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8" [, bool $double_encode = true ]]] )

& < > " ' 다섯 가지 문자만 변환된다는 점을 빼면, htmlentities와 동일합니다.

addslashes, stripslashes

string addslashes ( string $str )
string stripslashes ( string $str )

', ", NUL 문자에 \를 붙이거나(addslashes) 뗍니다(stripslashes).

Example

$string = "the 'quick & brown fox' jumps over lazy dog.";
echo addslashes($string);                       # the \'quick \& brown\'...

trim

string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

문자열의 앞뒤 공백을 제거합니다. $character_mask로 제거할 문자를 지정할 수 있습니다.

ltrim

string ltrim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

문자열의 앞 공백만 제거합니다. 나머지는 trim과 같습니다.

rtrim

string rtrim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

문자열의 뒤 공백만 제거합니다. 나머지는 trim과 같습니다.

Example

$string = "    a quick padded fox    ";
echo $string . '|';
echo trim($string) . '|';
echo ltrim($string) . '|';
echo rtrim($string) . '|';
#     a quick padded fox    |
# a quick padded fox|
# a quick padded fox    |
#     a quick padded fox|

nl2br

string nl2br ( string $string [, bool $is_xhtml = true ] )

$string\n<br/>로 바꿉니다. $is_xhtmlFALSE라면 <br>을 사용합니다.

Example

$string = "a quick brown fox jumps\n over\n lazy\n newlines.";
echo nl2br($string);
# a quick brown fox jumps<br/> over<br/> lazy<br/> newlines.

crypt

string crypt ( string $str [, string $salt ] )

문자열을 (기본값) Unix DES 기반 알고리즘을 이용해 단방향 암호화합니다. $salt를 첨가하여 보안을 높일 수 있습니다.

Example

$password = 'a very very 1ong and strange passw0rd jumps over the lazy hack3r.';
echo crypt($password, 'quick brown salt');
# qu3j13xTxV9/o

md5

string md5 ( string $str [, bool $raw_output = false ] )

문자열의 MD5 해시를 계산합니다. $raw_outputTRUE면, 16바이트 길이의 binary 데이터가 리턴됩니다.

chr

string chr ( int $ascii )

$ascii에 해당되는 문자를 반환합니다.

ord

int ord ( string $string )

$string의 문자 코드를 반환합니다.

preg_match

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

정규식 검사를 수행합니다.

인수

$pattern

검사를 시행할 정규식입니다.

$subject

검사를 시행할 문자열입니다.

&$matches

정규식 매치된 substring들을 담을 배열입니다.

$flags

PREG_OFFSET_CAPTURE가 주어지면, 길이가 2인 Array에 substring과 해당 substring이 검출된 위치의 오프셋을 함께 돌려보냅니다.

$offset

$subject 대신 substr($subject, $offset)을 넣은 것과 같이 작동합니다.

Example

$string = "The quick brown foooox doing jumps over lazy dooooooog.";
$pattern = '/[fd]o+x?/';
#
# RegEx explaination:
#           repeats >1 times
#                  \ /
# Start  ___.-f-.___o___.-x-.___*  End
#           `-d-'       `---'
#
# Matches With: fox dox fo do foooooox doooox fooooooo dooooooo
#
preg_match($pattern, $string, $result, PREG_OFFSET_CAPTURE);
print_r($result);strstr
# Array ( [0] => Array ( [0] => foooox [1] => 16 ) )

preg_replace

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

$subject에서 $pattern 정규식으로 매치된 문자열을 $replacement로 바꿉니다.

인수

$pattern

검사를 시행할 정규식입니다.

$replace

교체할 문자열입니다. $1...$n으로 정규식의 substring을 사용할 수 있습니다.

$subject

검사를 시행할 문자열입니다.

$limit

교체할 횟수의 제한을 지정합니다. 기본값은 -1(무제한)입니다.

&$count

교체를 수행한 횟수가 들어갈 변수입니다.

Example

$string = "The quick brown fox doing jumps over lazy dog in a fog.";
$pattern = '/[fd]o[xg]/';                               # fox, dog, fog, dox

echo preg_replace($pattern, "***", $string, 2);
# The quick brown *** doing jumps over lazy *** in a fog.

Part 4: Array functions

each

array each ( array &$array )

현재 커서의 key-value 페어를 리턴합니다.

list

array list ( mixed $var1 [, mixed $... ] )

순차 배열에서 값을 하나씩 뽑아옵니다. 함수이기보다는 언어 문법에 가깝습니다.

Example

$array = array('quick', 'brown', 'fox');
list($attr, $color, $name) = $array;

echo "$attr $name is $color";                           # quick fox is brown

sort, rsort

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )    # reversed

배열을 정렬합니다. 키에 따라 정렬한 후, 값들만 순차 배열로 돌려줍니다.

인수

&$array

정렬될 배열입니다.

$sort_flags
플래그 설명
SORT_REGULAR 타입을 변환하지 않고 일반적인 방법으로 비교합니다.
SORT_NUMERIC 값들을 숫자로 취급하여 비교합니다.
SORT_STRING 값들을 문자열로 취급하여 비교합니다.
SORT_LOCALE_STRING 값들을 현재 로케일에 기반한 문자열로 취급하여 비교합니다.
SORT_NATURAL natsort()와 같은 정렬 알고리즘을 사용합니다.
SORT_FLAG_CASE 값들을 대소문자 구별 없이 정렬합니다. SORT_STRING 또는 SORT_NATURAL 플래그와 비트 OR 연산자로 묶어 사용합니다.

Example

$array = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

sort($array);
foreach($array as $k => $v)
    echo "array[$k] => $v\n";
    
# array[0] => apple
# array[1] => banana
# array[2] => lemon
# array[3] => orange

asort, arsort

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )   # reversed

sort()와 같지만, 키를 유지한 채 값으로 정렬합니다.

Example

$array = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

asort($array);
foreach($array as $k => $v)
    echo "array[$k] => $v\n";

# array[c] => apple
# array[b] => banana
# array[d] => lemon
# array[a] => orange

ksort, krsort

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

sort()와 같지만, 키를 유지한 채 키로 정렬합니다.

Example

$array = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

ksort($array);
foreach($array as $k => $v)
    echo "array[$k] => $v\n";

# array[a] => orange
# array[b] => banana
# array[c] => apple
# array[d] => lemon

count

int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )

배열 또는 countable 객체의 내용물 수를 반환합니다. $modeCOUNT_RECURSIVE(TRUE)이면, 배열 내의 배열까지 모두 검색합니다. 다차원 배열 등에서 쓰일 수 있습니다.

current

mixed current ( array &$array )

현재 배열 포인터의 값을 리턴합니다.

next

mixed next ( array &$array )

현재의 배열 포인터를 앞으로 한 칸 이동시키고, 해당 위치의 값을 리턴합니다.

prev

mixed prev ( array &$array )

현재의 배열 포인터를 뒤로 한 칸 이동시키고, 해당 위치의 값을 리턴합니다.

shuffle

bool shuffle ( array &$array )

배열의 순서를 섞습니다.

in_array

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

$haystack 안에서 $needle을 검색합니다. 있으면 TRUE, 없으면 FALSE를 리턴합니다. $strictTRUE라면, $needle과 타입까지 같은 원소를 찾습니다.

array_push

int array_push ( array &$array , mixed $value1 [, mixed $... ] )

배열의 맨 뒤에 순차 키를 가진 값을 추가합니다. 단 한 개의 값만 추가하고자 할 경우, 함수 호출의 오버헤드를 줄이기 위해 다음의 방법이 권장됩니다:

$array[] = $value;

array_pop

mixed array_pop ( array &$array )

배열의 마지막 값을 제거하고 리턴합니다. 배열의 포인터는 리셋됩니다.

array_unshift

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )

배열의 맨 앞에 순차 키를 가진 원소를 추가합니다. 기존에 존재하던 순차 키 원소들은 추가된 원소를 0번으로 하여 재정렬됩니다.

array_shift

mixed array_shift ( array &$array )

배열 맨 앞의 원소를 제거하고 리턴합니다. 기존에 존재하던 순차 키 원소들은 추가된 원소를 제외하고 재정렬됩니다.

array_rand

mixed array_rand ( array $array [, int $num = 1 ] )

배열에서 아무 값을 $num개 뽑아옵니다.

array_search

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

in_array와 같지만, 값을 찾는 데 성공하면 TRUE 대신 해당 키를 리턴합니다.

array_sum

number array_sum ( array $array )

모든 값의 합을 계산합니다.

array_slice

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

배열의 $offset번째 인덱스에서 $length개만큼 잘라낸 배열을 리턴합니다.

array_splice

array array_splice ( array &$input , int $offset [, int $length = int [, mixed $replacement = array() ]] )

array_slice의 범위를 잘라내거나 $replacement로 교체합니다.

array_walk

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

배열의 모든 키에 $callback을 수행합니다.

foreach($array as $key => $value){
    $callback($value);
}

와 같습니다.

Chapter 4 Examples

# ...

Chapter 5: File I/O

fopen

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

파일을 열고 스트림 리소스를 리턴합니다.

인수

$filename

URI 또는 로컬 파일의 이름입니다. schema://가 지정되어 있으면 PHP는 filename을 URI로 취급하고 프로토콜 핸들러(wrapper)를 찾아 핸들링합니다. 사용할 수 있는 핸들러가 없으면 E_NOTICE를 발생시킵니다. filename이 로컬 파일의 경로로 취급되면 해당 파일에 대한 스트림을 여려고 시도합니다.

$mode
mode 설명
r 읽기 전용.
r+ 읽기/쓰기.
w 쓰기 전용; 파일이 존재하지 않으면 만듭니다. 파일이 존재하면, 0의 길이로 잘라냅니다.
w+ 읽기/쓰기; 위와 같음.
a 쓰기 전용; 파일 포인터는 파일의 맨 뒤에 놓입니다. 파일이 존재하지 않으면 만드려고 시도합니다.
a+ 읽기/쓰기; 위와 같음.
x 쓰기 전용; 파일이 없는 경우에는 만들고, 이미 있는 경우에는 FALSE를 리턴하고 E_WARNING의 오류를 발생시킵니다. open(2) 시스템 콜에 O_EXCL | O_CREAT 플래그를 지정한 것과 같습니다.
x+ 읽기/쓰기; 위와 같음.
c 쓰기 전용; 파일이 존재하지 않으면 만듭니다. 파일이 존재하면, 0의 길이로 잘라내거나 (w의 동작) 또는 FALSE를 리턴하고 E_WARNING의 오류를 발생시킵니다. (x의 동작).
c+ 읽기/쓰기; 위와 같음.

include_path

켜져있으면 상대 경로를 사용할 때 php.iniinclude_path에서도 파일을 찾습니다.

fwrite (=fputs)

int fwrite ( resource $handle , string $string [, int $length ] )

스트림에 문자열을 ($length바이트만큼) 씁니다.

fread

string fread ( resource $handle , int $length )

스트림을 읽어들입니다. 읽기가 멈추는 조건은 다음과 같습니다:

  • $length바이트만큼 읽음
  • EOF
  • 소켓 timeout
  • 버퍼가 끝남

fgets

string fgets ( resource $handle [, int $length ] )

fread와 같지만, \n을 만날 때까지 읽습니다.

fgetc

string fgets ( resource $handle )

파일에서 한 글자를 읽습니다.

fclose

bool fclose ( resource $handle )

스트림을 닫습니다.

rename

bool rename ( string $oldname , string $newname [, resource $context ] )

파일의 이름을 변경합니다. 몇몇 프로토콜 wrapper에서도 작동합니다.

unlink

bool unlink ( string $filename [, resource $context ] )

파일을 삭제합니다. 실패하면 E_WARNING 수준의 오류가 발생합니다.

is_file

bool is_file ( string $filename )

$filename이 일반 파일인지의 여부를 리턴합니다.

file_exists

bool file_exists ( string $filename )

$filename이 존재하는지의 여부를 리턴합니다.

is_uploaded_file

bool is_uploaded_file ( string $filename )

$filename이 PHP가 HTTP POST로 업로드받아서 저장한 파일인지의 여부를 리턴합니다.

move_uploaded_file

bool move_uploaded_file ( string $filename , string $destination )

is_uploaded_file($filename)===TRUE인 파일을 이동합니다.

Chapter 6: Regular Expression

Characters Overview

char description
^ Start of string.
$ End of string.
. Matches with any one character.
[...] Matches with any one of parentheses-included character. Can be used with - (range) operator.
[^...] NOT of [].
() Isolate 'substring'. substrings can be extracted with $1...$n or equivalent escapes.
  •       | Match `0` or more times.
    
  •       | Match `1` or more times.
    

? | Match 0 or 1 times. {n} | Match n times. {n,} | Match n or more times. {m,n} | Match m to n times. | | OR operator; Can join 2 or more subexpression. ---- | PHP-Specfic Reserved Keywords [[:alpha:]] | Same as [a-zA-Z]. [[:digit:]] | Same as [0-9] or \d. [[:alnum:]] | Same as [a-zA-Z0-9]. [[:space:]] | Same as \s; Match all whitespace characters. (some Unicode whitespace characters may not included)

@minacle
Copy link

minacle commented May 12, 2014

네? 지금 php라고 했나요?

@hibiyasleep
Copy link
Author

착해서...

@hyeonsupark
Copy link

Thx 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment