isset()
변수가 존재하는지 확인
설정이 되었으면 true
설정이 되지 않았으면 false를 반환
null값일때만 false 나머지는 true
empty()
변수가 비어있는지 확인
비어있으면 true
비어있지 않다면 false를 반환
다음을 비어있는 것으로 판단
- "" (빈 문자열)
- 0 (정수 0)
- "0" (문자열 0)
- NULL
- FALSE
- array() (빈 배열)
- var $var; (클래스 안에서 값 없이 선언된 변수)
<?php
$testInt1 = 0;
$testInt2 = 100;
$testStr1 = "0";
$testStr2 = "100";
$testStr3 = "abcd";
$testStr4 = "";
$testbool1 = true;
$testbool2 = false;
$testnull = null;
//isset($var) 변수가 설정되었는지 확인
//설정이 되었으면 true 설정이 되지 않았으면 false를 반환
//empty($var) 변수가 비어있는지 확인
//비어있으면 true비어있지 않다면 false를 반환
//0는 비어있다고 인식
//1. int 0
echo empty($testInt1) ? "int 0 empty는 Y <br/>"
: "int 0 empty는 N <br/>"; //비어있는지 체크
echo isset($testInt1) ? "int 0 isset는 Y <br/>"
: "int 0 isset은 N <br/>"; //null이 아닌지 체크
//2. int 0외의 숫자
echo empty($testInt2) ? "int 100 empty는 Y <br/>"
: "int 100 empty는 N <br/>"; //비어있는지 체크
echo isset($testInt2) ? "int 100 isset는 Y <br/>"
: "int 100 isset은 N <br/>"; //null이 아닌지 체크
//3. str "0"
echo empty($testStr1) ? "str '0' empty는 Y <br/>"
: "str '0' empty는 N <br/>"; //비어있는지 체크
echo isset($testStr1) ? "str '0' isset는 Y <br/>"
: "str '0' isset은 N <br/>"; //null이 아닌지 체크
//4. str "100"
echo empty($testStr2) ? "str '100' empty는 Y <br/>"
: "str '100' empty는 N <br/>"; //비어있는지 체크
echo isset($testStr2) ? "str '100' isset는 Y <br/>"
: "str '100' isset은 N <br/>"; //null이 아닌지 체크
//5. str "abcd"
echo empty($testStr3) ? "str 'abcd' empty는 Y <br/>"
: "str 'abcd' empty는 N <br/>"; //비어있는지 체크
echo isset($testStr3) ? "str 'abcd' isset는 Y <br/>"
: "str 'abcd' isset은 N <br/>"; //null이 아닌지 체크
//6. str ""
echo empty($testStr4) ? "str '' empty는 Y <br/>"
: "str '' empty는 N <br/>"; //비어있는지 체크
echo isset($testStr4) ? "str '' isset는 Y <br/>"
: "str '' isset은 N <br/>"; //null이 아닌지 체크
//7. bool true
echo empty($testbool1) ? "boolean true empty는 Y <br/>"
: "boolean true empty는 N <br/>"; //비어있는지 체크
echo isset($testbool1) ? "boolean true isset는 Y <br/>"
: "boolean true isset은 N <br/>"; //null이 아닌지 체크
//8. bool false
echo empty($testbool2) ? "boolean false empty는 Y <br/>"
: "boolean false empty는 N <br/>"; //비어있는지 체크
echo isset($testbool2) ? "boolean false isset는 Y <br/>"
: "boolean false isset은 N <br/>"; //null이 아닌지 체크
//9. null
echo empty($testnull) ? "null empty는 Y <br/>"
: "null empty는 N <br/>"; //비어있는지 체크
echo isset($testnull) ? "null isset는 Y <br/>"
: "null isset은 N <br/>"; //null이 아닌지 체크
?>
데이터 타입
|
isset()
|
empty()
|
숫자
|
0일때 true리턴
0외의 숫자 true리턴
|
0일때 true리턴
0외의 숫자 false리턴
|
문자열
|
문자열 "0"일때 true리턴
문자열 "100"일때 true리턴
문자열 "abc"일때 true리턴
빈문자열 true리턴
|
문자열 "0"일때 true리턴
문자열 "100"일때 false리턴
문자열 "abc"일때 false리턴
빈문자열 true리턴
|
블리언
|
true 일때 true리턴
false 일때 true리턴
|
true 일때 false리턴
false 일때 true리턴
|
null
|
false리턴
|
true리턴 |
파일 존재 여부 확인
file_exists()함수
전달받은 파일이나 디렉터리가 존재하는지 검사
파일을 열기 전에 먼저 해당 파일이 존재하는지 확인
예시)
<?php
if(file_exists("list.txt")) {
echo"파일이 존재합니다."
}else {
echo"파일이 존재하지 않습니다.";
}
?>
파일 크기 확인
filesize()함수
전달받은 파일의 크기를 바이트 값으로 반환
예시)
<?php
echo filesize("list.txt");
?>
*대부분 운영체제에서 PHP의 정수 타입으로 32비트 정수 사용
파일크기가 2GB보다 크면, filesize() 한수는 예상치 못한 결과 반환
파일 삭제
unlink()함수
전달 받은 주소에 위치한 파일을 삭제
파일을 정상적으로 삭제했을 때 true
파일을 지울수 있는 권한이 없거나
파일이 존재하지 않거나 정상적으로 삭제 되지 못했을 때 false
예시)
<?php
unlink("deleteme.txt);
?>
파일 복사
copy()함수
파일명과 파일내용을 전달 받아 파일 복사
예시)
<?php
$file = 'readme.txt';
$newfile = 'example.txt.bak';
if(!copy($file, $newfile)){
echo "failed to copy $file..$n";
}
?>
파일 읽기
file_get_contents("파일경로");
PHP로 텍스트 파일을 읽고 화면에 출력
예시)
<?php
$file = "./readme.txt";
echo file_get_contents($file);
?>
파일 읽기
네트워크 통해서 데이터 읽기
예시)
<?php
$homepage = file_get_contents("http://php.net/manual/en/function.file-get-contents.php");
echo $homepage;
?>
파일 쓰기
file_put_contents(파일이름, 파일내용);
네트워크를 통해서 데이터 읽기
예시)
<?php
$file="./write.txt";
file_put_contents($file, "coding everybody");
?>
디렉토리의 탐색
scandir(경로)
디렉토리를 탐색하는 기능
첫번째 인자는 탐색할 디렉토리 경로, 두번째 인자는 정렬방법
<?php
$dir = "./";
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?>
디렉토리의 생성
mkdir()
디렉토리를 생성하는 내장 함수
첫번째 인자는 디렉토리 이름
두번째 인자는 디렉토리 권한 지정
세번째 인자의 값을 true를 지정하면 첫번째 인자에 주어진 경로가 여러개 디렉토리일 경우
해당 디렉토리를 한번에 생성하는 기능
파일 다루기
폴더 파일 배열로 반환 scandir("파일경로")
파일 내용 반환 file_get_contents("파일경로")
파일 내용 수정 file_put_contents("파일경로","파일 내용")
파일 이름 변경 rename(oldname, newname);
파일 삭제 unlink("파일경로");
파일 불러오기
include "파일경로"
☞다른 파일을 현재 파일에 포함(여러번 포함 가능)
include_once "파일경로"
☞다른 파일을 현재 파일에 포함(1번만 포함)
▶ 상대경로
include "상대경로명"
상대경로는 현재 위치를 기준으로 하여 목적지까지의 상대적인 경로를 의미함
특징은 최상위 / 를 거치지 않고도 이동이 가능함
ex) include_once "../process/edit_process.php";
▶ 절대 경로
절대 경로는 처음부터 시작하여 목적지까지의 절대적인 경로를 의미함
특징은 최상위 /를 포함하고 있음
$_SERVER["DOCUMENT_ROOT"] =>최상위 경로
ex) include_once $_SERVER["DOCUMENT_ROOT"]."/process/edit_process.php"
리다이렉트
header("Location: 경로");
예로 여러가지 이유로 a.php로 접속했을 때 b.php로 자동 이동하게 만듬
'PHP' 카테고리의 다른 글
[PHP] 문자열 내장함수 (0) | 2022.12.26 |
---|---|
[PHP] 비밀번호 암호화 (0) | 2022.12.26 |
[PHP]폼과 전송방식 (0) | 2022.12.19 |
[PHP]배열 (0) | 2022.12.18 |
파일과 디렉토리 제어 (0) | 2022.12.18 |
댓글