HOME

customer

대구웹고객센터

PHP 변수 및 기타 공부

게시판 상세보기
작성일 2022-03-21 18:29:03 조회수 120

$_GET[name]

$_POST[name]

$_COOKIE[name]

$_SESSION[name]

따위는 슈퍼글로별 변수로 사이트 어디에서든 부를수 있음(?)

슈퍼글로벌 변수는 모두 연관 배열로 사용

$_SERVER나 $_ENV는 시스템에 따라 다른 값이 할당

$SESSION은 데이터를 가지고 다니기 위해 사용되는 변수

 

$_SESSION[]

세션은 모든 정보가 사용자 측의 컴퓨터에 저장되는 쿠키와 달리 웹 서버에 정보를 저장하고 사용자 측에는 접근 할 수 있는

키 값을 저장.

웹 서버에 데이터가 저장되고 필요할 때마다 브라우저에서 키 값으로 서버에 요청.

브라우저를 종료하는 시점에서 세션이 삭제가 되도록 설정이 가능. 쿠키에만 데이터를 저장하는 것보다 보안성 높음.

주로 로그인과 같은 인증 처리에 많이 사용됨

 

쿠키

setcookie([쿠키이름], [값], [만료시간 / 초 단위], [경로]);

( 이름, 값, 만기날짜, 경로 ) 가장 중요함

setcookie의 만료시간은 초단위.

time() 함수를 이용하여 현재 시간의 초단위를 구한 후 거기에 원하는 만료기간을 초단위로 더해줘야함

ex) setcookie("cookie", "setcookie", time() + 3600, "/");

쿠키라는 이름을 가지고 setcookie라는 값을 가진 쿠키가 1시간동안 유효하도록 설정

쿠키를 삭제하는 함수가 따로 존재하지 않음

setcookie를 이용해 값을 제거하고 만료시간을 이용해 만료된 쿠키로 만들어서 사용할 수 없도록 처리해야함

 

base64_decode

base64 : 2진 데이터를 ASCII 코드에 해당하는 문자열로 변경해주는 방식을 말하는데

2진 데이터를 ASCII 형태로 변경하는 것을 base64_encode 가 처리해주며,

ASCII 형태의 데이터를 2진 데이터로 복원하는 것을 base64_decode 가 처리해 줍니다.

 

strlen()

문자열의 길이를 구해주는 함수

 

str_ireplace

발견한 모든 검색 문자열을 치환 문자열로 교체(대소문자 구분하지 않음)

 

substr()

문자열의 일부분을 추출하는 함수

 

chr()

아스키코드 번호를 받아 해당하는 문자열을 리턴해주는 함수

 

아스키코드

1바이트 = 8비트

여러가지 이유(?)로 아스키코드는 7비트(128개)의 고유값만 사용

7비트만 사용하는 이유 = 1비트를 통신 에러 검출을 위해 사용하기 때문

 

ord()

문자열의 첫번째 문자에 해당하는 아스키도르를 리턴해주는 함수

 

str_replace()

문자열을 변경하는 용도

 

 

strpos(string $탐색할 문자열, mixed $찾을 문자열/문자 [, int $offset])

   문자 검색을 위한 함수

ex) strpos('abcd', 'ab');

     실행하면 0을 반환 / 일치하는 문자열의 위치가 0이기 때문

인수

haystack : 탐색할 문자열

needle : 찾을 문자열 / 문자

offset : 선택적이며, 지정된 offset 이후로 haystack에서 찾는다. 반환은 처음부터 시작.

반환값

위치를 정수로 반환, 0부터 시작. needle을 발견하지 못하면, strpos() 함수는 false를 반환.

 

strip_tags()

문자열에서 HTML 태그와 php 태그 제거하는 함수

 

isBlank()

빈문자열 경우 "참"을 리턴

 

switch( [ 조건변수 ] ){

   case[ 비교값 ] :

      [ 소스코드 ] ;

 

   case[ 비교값 ] :

      [ 소스코드 ] ;

 

   case[ 비교값 ] :

      [ 소스코드 ] ;

 

   default :

      [ 소스코드 ] ;

}

 

trim([ 대상 문자열 ]);

공백 및 문자열을 제거하는 함수.

ltrim = 왼쪽에 존재하는 공백 및 문자열을 제거

rtrim = 오른쪼겡 존재하는 공백 및 문자열을 제거

trim = 양쪽에 존재하는 공백 및 문자열을 제거

 

end()

배열의 마지막 값 가져오기

 

realpath()

인자로 들어온 변수를 확인해 표준화된 절대경로 이름을 반환

디렉토리 경로를 검증할 때 사용하면 좋음

특정 경로에 존재하는 파일을 삭제하려고 할 때 해당 경로가 정확한지 확인 가능

 

dirname(__FILE__)

파일명을 제외한 경로

ex) folder/path/sehee

 

__FILE__

파일명을 포함한 파일위치에 대한 절대경로

ex) folder/path/sehee/index.php

 

~ or die(~);

좌측의 함수를 실패할 경우 우측의 함수를 실행

 

move_uploaded_file()

서버로 전송된 파일을 저장할 때 사용하는 함수

 

define(상수, 값, 대소문자구분)

상수( 변하지 않는 고정값 )를 정의

상수로 정의된 값은 동일한 페이지 내에서는 변경이 불가능

값이 변경되면 안되는 특별한 고정값을 사용하고 싶을때 상수로 지정하여 사용

자주 사용돼는 값들은 "도메인", "파일위치", "디렉토리 경로", PATH등 고유값으로 지정 돼야 할 값들

!! 상수는 common이나 header 등 모든 페이지에 삽입되는 공통문서 최상부에 정의하며 개별 페이지에는 쓰지 않는다

 

defined(상수명)

상수 설정 여부 확인

 

explode("문자열을 분할 할 기준", 분할 할 문자열, [, 옵션으로, 분할 할 개수를 정함. 정수를 입력 ])

문자열을 분할하여 !!!배열!!! 로 저장하는 함수

 

include / include_once

서버상에 존재하는 다른 파일을 현재 파일에 포함시키는데 사용됨

include의 경우 다른 파일 전혀 다른 페이지에 코딩 된 것을 불러다 사용할 수 있게 해줌

ex) 데이터베이스 호출을 위한 파일,

     뷰를 만들기 위한 파일,

     여러 기능들을 모아둔 펑션 파일,

     등 이런식으로 분리를 하게 됨

유지보수의 편의성이나 코드를 계속 적어내려갈때, 좀 더 직관적으로 파악 가능.

혼동을 줄일 수 있는 아주 좋은 방법

include = 같은 파일을 여러번 포함시킬 수 있음

   include "상대경로명";

   include $_SERVER['DOCUMENT_ROOT']. "절대경로명";

include_once = 1회만 포함 가능

   include_once "상대경로명";

   include_once $_SERVER['DOCUMENT_ROOT']. "절대경로명";

 

ajax_                        (?)

자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기능

비동기 방식의 장점

페이지 리로드의 경우 전체 리소스를 다시 불러와야 하는데 이미지, 스크립트, 기타 코드등을 모두 재요청 할 경우 불필요

한 리소스 낭비가 발생하게 되지만 비동기식 방식을 이용할 경우

필요한 부분만 불러와 사용할 수 있으므로 매우 큰 장점이 있음

 

hash()

해시 값 생성에 사용하는 함수

ex) hash( 해싱 알고리즘, 데이터 );

해싱 알고리즘 : md5, sha256

데이터 : 해싱할 데이터

 

header(string $string [, bool $replace = true [, int $http_reponse_code]])

가공하지 않은 HTTP 헤더를 송신

string : 송신하는 HTTP status 코드를 표시하거나 브라우저를 리다이렉트 할 문자열

replace : 이전에 송신 된 비슷한 헤더를 바꿀지 또는 같은 형식의 두번재 헤더를 추가할지를 지정

http_response_code : HTTP response 코드를 강제적으로 지정

 

in_array(확인할 값, 배열, 자료형 확인 여부 = False)

PHP 값이 배열 안에 존재하는지 확인하는 함수

 

is_array()

배열인지 아닌지를 확인하는 함수

 

strip_tags()

문자열에서 HTML 태그와 PHP 태그를 제거하는 함수

 

웹 경로표기법

1. 상대경로

기준 : 현재 웹페이지의 소속 폴더가 기준점

나의 현재 위치를 기준으로 나타낸 경로

현재 디렉토리, 부모 디렉토리의 파일을 사용하는 경우 상대경로가 절대경로보다 편리함

 

. : 현재 웹페이지가 소속된 폴더

.. : 현재 웹페이지의 부모 폴더

자식폴더명 : 현재 소속된 폴더의 자식 폴더

현재 위치를 '나'로 기준 삼고 상대를 찾는 표현

 

2. 절대경로

기준 : 누구나 다 알고있는 동일한 위치를 기준으로 상대를 찾는 표현

루트 디렉토리(현재 실행되고 있는 위치)를 기준으로 어떤 파일이나 디렉토리가 가지고 있는 고유한 경로

 

' / ' 기준 -> '/'는 웹사이트의 루트 폴더 > "http://localhost:8090"

'/webClientTest' == 'WebContent'

 

3. 로컬경로

사용안함

웹서버가 아니라 브라우저가 동작 중인 로컬 컴퓨터의 경로를 탐색

 

4. 외부경로

http:// 시작

남의 사이트 주소

 

php 복합 대입 연산자

.=   : 복합 대입 연산자(문자열 추가)

왼쪽 피연산자의 문자열에 오른쪽 피연산자의 문자열을 추가한 후, 왼쪽의 피연산자에 대입

( .= 은 양쪽 연결(?) 하는 느낌 )

결합 방향  : 오른쪽에서 왼쪽으로

 

SQL문 내 1=1

ex) "SELECT * FROM $table WHERE 1=1 ~~~~~";

1=1   : 항상 참

쓰는 이유

뒤에 붙는 조건들이 고정적으로 붙지 않을 때 동적으로 조건절을 붙이고 싶을 때 유용

ex) 검색기능

 

break / return / exit 차이

 

break = 루프 탈출

for, foreach, while 등 여러번 반복되는 루프의 경우에 해당

루프 이후에 등장하는 코드를 계속 실행

if문은 반복문이 아니라 조건 충족시 1번만 실행되는 코드라 해당없음

 

return = 함수 탈출 또는 include 탈출

함수 안에서 쓰면 함수 실행을 종료, 그 함수를 호출했던 지점으로 돌아가서 계속 실행

함수 밖에서 쓰면 현재 파일을 include했던 파일로 돌아가서 계속 실행

함수 밖인데 include한 것도 없으면 그냥 종료. exit와 동일한 효과

 

exit, die = 무조건 종료

 

&

&  : '&'을 표기하기 위해 '&'로 표기해 주어야 함 

 

foreach

배열의 원소나, 객체의 프로퍼티 수 만큼 반복하여 동작하는 구문

foreach = 배열의 원소, 객체의 프로퍼티에 값 각각 처리하는 경우에 for문보다 깔끔한 코드 가능

 

unset($변수1, $변수2)

변수 제거에 사용하는 함수

","를 통해서 복수의 변수를 제거 가능

함수 안에서 전역변수를 unset 하면, 로컬 변수만 파괴됨

호출한 환경에서는 변수는 unset을 호출하기 전과 같은 값을 유지

 

http_build_query()

인코드한 쿼리 문자열 생성

string http_build_query(array $formdata [, string $numeric_prefix [, string $arg_separator]] )

주어진 연관 배열에서 URL 인코드한 쿼리 문자열을 생성

ex)

   $data = array('foo' => 'bar,

        'bax' => 'boom',

        'cow' => 'milk',

        'php' => 'hypertext processor');

   echo http_build_query($data);

// 결과값 : foo=bar&baz=boom&cow=milk&php=hypertext+processor

   echo http_build_query($data'',&');

// 결과값 : foo=bar&baz=boom&cow=milk&php=hypertext+processor

 

preg_match()

$result = preg_match($pattern, $subject);

pret_match()를 실행한 결과가 일치하면 1, 일치하지 않으면 0, 패턴을 인식하지 못하는 오류가 발생하면 false가 반환

 

unlink(string $filename[. resource $context])

unlink(filename, context)

filename = 사제할 파일 지정

context = 파일 핸들의 컨텍스트를 지정

컨텍스트는 스트림의 동작을 수정할 수 있느 오션의 집합

함수 성공시 true, 실패시 false 반환

웹 서버에서 존재하는 파일을 삭제하는데 사용

그런데 파일 업로드 시 발생하는 에러로 임시 폴더에 삭제할 파일이 존재하지 않을 수 도 있음

따라서 앞에 '@'를 붙여줌

 

HTML

 

태그 enctype속성

 

form태그의 enctype 속성은 폼 데이터(form data)가 서버로 제출될 때 해당 데이터가 인코딩 되는 방법을 명시

form 태그의 method 속성값이 "POST"인 경우에만 사용 가능

 

reset(배열명)

포인터를 배열의 맨처음으로 이동시키고 값을 리턴

배열 초기화

 

each()

배열을 받아서 키와 값으로 되돌려주는 역할

 

list()

배열로 받은것을 키와 배열값으로 나누어 줌

이전 다음 글보기
이전글 신일이앤씨 홈페이지제작관련 미팅
다음글 대구 호산동 월드베스트커피 쇼핑몰제작 상담다녀왔어요
Copyright (c) DAEGUWEB. All Rights Reserved.