참고 : 생활코딩


# include 와 require 는 파일을 로드 할 때 사용하는 명령어이다.

차이점은 

include가 warning을 일으킨다.

require은 fatal error를 일으킨다.

_once 붙은 것은 파일을 로드 할 때 단 한번만 로드하면 된다는 의미이다.

include

include_once

require

require_once


# namespace 라는 키워드는 동일한 함수의 이름을 하나의 php 애플리케이션 안에 사용할 수 있게 만든다.


# 파일복사 

리눅스일 경우 파일을 가지고 있는 디렉토리의 권한을 chmod 753 . 명령어를 실행시켜야만 파일이 복사된다.

원래 /var/www/html디렉토리의 권한은 chmod 755로 되어있다. 하지만 copy()함수를 사용하기 위해서는

디렉토리의 파일허가권(소유자,그룹,그외 사용자)부분에서 그외 사용자에 대해 쓰기(w)와 실행(x) 권한이 필요하다.

다른 방법으로는 chown 명령어로 소유자를 바꿔주면 된다.


1. 소스코드 

<?php

$file1 = 'test.txt';

$file2 = 'example.txt';


if(!copy($file1, $file2)){

  echo "failed to copy {$file1}...";

}

?>


2. 디렉토리 권한을 주지 않거나 소유자 변경을 안한경우

Warning: copy(example.txt): failed to open stream: Permission denied in /var/www/html/test.php on line 5 failed to copy test.txt...


3. 디렉토리 권한을 주거나 소유자 변경을 한경우 위 경고가 나오지 않으면서 test.txt 라는 파일내용을 복사해 example.txt 라는 파일을 생성시킨다.


# 파일삭제 

파일삭제 또한 마찬가지로 

디렉토리의 권한 그외 사용자에 대해 쓰기(w)와 실행(x) 권한이 있어야 한다.

다른 방법으로는 chown 명령어로 소유자를 바꿔준다.


1. 소스코드

<?php

unlink('example.txt');

?>


2. 디렉토리 권한을 주지 않거나 소유자 변경을 안한경우

Warning: unlink(example.txt): Permission denied in /var/www/html/test.php on line 2


3. 디렉토리 권한을 주거나 소유자 변경을 한경우 example.txt 라는 파일은 삭제된다.


#파일 읽기 / 파일 쓰기

file_get_contents() 텍스트로 이루어진 파일을 읽어서 문자열을 리턴한다 (내부,외부)

file_put_contents() 쓰기, 화면에는 글자수 리턴한다.

fopen()

fread()

fwrite()


#파일 제어 트러블 슈팅

복사,삭제,읽기,쓰기에 대해 permission denied가 나온다면

chown 명령어를 통해 디렉토리 소유자를 root에서 바꿀 소유자 명으로 지정해주면 된다.

ex) chown apache .

다른 방법으로는 chmod 명령어를 사용해서 그 외 사용자 대해 wx권한을 주면 된다.

ex) chmod 753 .


#디렉토리 제어

getcwd()   :현재 디렉토리 출력

chdir('../') :상위 디렉토리 이동

scandir()   :파일과 디렉토리를 배열로 리턴, 두번째 인자는 순서

mkdir()     :디렉토리 생성 ex)mkdir("1/2/3",0700,true) 디렉토리명,권한설정, recursive인자(true)


#파일 업로드, move_upload_file

참고 : 

http://home78.cafe24.com/tc/tag/163

https://opentutorials.org/course/62/5136


#문자열 다루기

strpos()


#정규표현식

특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어

programming language나 text editor 등에서 문자열의 검색과 치환을 위한 용도로 쓰임

정규표현식에서 사용하는 기호를 Meta문자라고 한다.

참고 :

https://opentutorials.org/course/909/5143

https://opentutorials.org/course/62/5141

http://www.nextree.co.kr/p4327/

연습 :

http://regexr.com

'개발 > php' 카테고리의 다른 글

php - 1  (0) 2017.04.05

+ Recent posts