오늘의 IT
-
[PHP] 따옴표 처리 함수 <addslashes/stripslashes>오늘의 IT/PHP 2023. 2. 7. 23:38
addslashes(이스케이프 할 문자열) 홑따옴표('), 겹따옴표("), 백슬래시(\), NUL(NULL 바이트) 문자 [ : 보통 DB 질의 등에서 처리할 필요가 있는 문자] 앞에 백슬래시를 붙인 문자열을 반환함 PHP는 기본적으로 magic_quotes_gpc 설정이 ON 임 magic_quotes_gpc 설정이란? GPC (Get/Post/Cookie) 작동의 magic_quotes 상태를 설정함 magic_quotes가 on이면, 모든 ' (작은따옴표), " (큰 따옴표), \ (백슬래시), NUL은 자동적으로 백슬래시로 이스케이프 됨 해당 설정을 통해 이스케이프 된 문자열이 addslashes를 사용하면 2번 이스케이프 됨 -> 문제 있음(오류 삐삐) 해당 설정이 켜져 있는지는 get_magi..
-
[MYSQL] 문자열, 칼럼 합치는 / 연결하는 함수 <CONCAT>오늘의 IT/MYSQL 2023. 2. 5. 23:10
CONCAT 함수 SQL 에서 데이터를 조회할때 여러 문자열 or 컬럼을 합쳐서 보여줘야 하는 경우 사용하는 함수 여러 문자열 조회 SELECT CONCAT('대장', ' ', '멋있다') AS str 결과 대장 멋있다 여러 칼럼 조회 예시 테이블 ID NAME JOB 1 대장 회사원 2 민수 과학자 SELECT CONCAT(NAME,'의 직업은 ', JOB) AS JOB_STR FROM USER_JOB; 결과 JOB_STR 대장의 직업은 회사원 민수의 직업은 과학자
-
[MYSQL] INSERT 중복 데이터 관리 방법 <INSERT IGNORE / REPLACE INTO /ON DUPLICATE KEY UPDATE>오늘의 IT/MYSQL 2023. 2. 2. 23:46
데이터를 INSERT 할 시 중복되는 데이터가 있는 경우 사용하는 명령문 공통사항 해당 명령문은 모두 중복되는 칼럼 체크를 PRIMERY KEY나 UNIQUE KEY로 하기 때문에 해당 키가 없는 경우 INSERT 로직을 수행함 중복값이 없는 경우에는 모두 INSERT 로직을 수행함 INSERT IGNORE INSERT IGNORE INTO user_info (memo , name, cp) SET memo = 'hi', name = '대장' , cp = '010-0000-0000'; 결과 Query OK, 0 row affected - Unique index 키로 되어 있으면 일반적으로 중복 데이터가 들어가는 경우 에러가 나지만 "IGNORE" 명령문을 통해 에러가 무시되어 결과적으로 무시됨 - IGNO..
-
[PHP] 문자열 치환 함수 <str_replace>오늘의 IT/PHP 2023. 2. 1. 23:58
str_replace("search", "replace", "subject") "subject"에서 발견한 모든 "search"를 주어진 "replace" 값으로 치환한 문자열이나 배열을 반환해줌 발견한 모든 검색 문자열을 치환 문자열로 교체해주는 함수 기본 예제 $str = str_replace("누구", "대장이", "나는 누구야"); echo $str; 결과 나는 대장이야 search가 여러 개인 경우 $search = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"); $str = str_replace($search, "_", "Hello World"); echo $str; 결과 H_llo Worl_ search, replace 둘 다 여러 개인 ..
-
[PHP] 문자열/배열 전환 함수 <explode/implode>오늘의 IT/PHP 2023. 1. 30. 21:45
explode("기준 문자", "배열로 바꿀 문자열",limit = PHP_INT_MAX) 특정 문자/문자열(구분자)을 기준으로 문자열 - > 배열로 변환하는 함수 $s_data = "오늘의대장&안녕&010-0000-0000&test@naver.com&남성"; $ar_data = explode("&", $s_data); print_r($ar_data); 결과 Array ( [0] => 오늘의대장 [1] => 안녕 [2] => 010-0000-0000 [3] => test@naver.com [4] => 남성 ) limit 사용시 양수로 쓰면 limit 만큼 배열 수 생성 $s_data = "오늘의대장&안녕&010-0000-0000&test@naver.com&남성"; $ar_data = explode("&"..
-
[Docker] php, apache image 생성하기 #절망편오늘의 IT/Docker 2023. 1. 29. 01:07
폴더 생성해주기 mkdir daejang 폴더 들어가서 Dockerfile 만들기 touch Dockerfile Dockerfile 파일 만들기 일단 apache 먼저 설치 해줌 # Dockerfile FROM ubuntu:20.04 # MAINTAINER 명령어 docker에서 지원 안함 LABEL로 사용 LABEL maintainer="daejang" # 아파치 설치 RUN apt install apache2 -y ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_PID_FILE /var/run/apache2/apache2.pid EXPOSE 80 CMD ["/u..
-
[Docker] image란?오늘의 IT/Docker 2023. 1. 28. 22:54
Docker 에서 image란? 운영에 필요한 서버, 코드, 라이브러리, 컴파일된 실행 파일을 묶는 형태로써 container 실행에 필요한 파일과 설정값의 모음집이라고 할 수 있음 지난 포스팅에서 다운 받은 image는 Ubuntu 이미지로 Ubuntu를 실행하기 위한 모든 파일을 가지고 있음 image 확인하기 docker images image 검색하기 docker search [image] # 예를 들면 docker search nginx docker search nginx -f stars=7 official은 해당 제조사가 만든 공식 image이며 나머지는 다른 유저가 만들어 놓은 image임 보통 official을 많이 쓰며 stars는 유저들 즐겨찾기 수이니 참고하여 사용하면 좋을듯 imag..
-
[PHP] XML CDATA 란 무엇인가?오늘의 IT/PHP 2023. 1. 27. 23:59
CDATA : 'Character Data'. 즉, '문자 데이터'를 뜻함 더 정확하게 말하면 '(Unparsed) Character Data'. 즉, '파싱 하지 않는 문자 데이터'라는 뜻임. 반대로, 파싱하는 문자 데이터는 'PCDATA'임 XML에서 파싱할 대상으로 인식하지 하지 않도록 그 구역을 지정해 주는 것이 CDATA임 XML로 파싱을 원하지 않는 구간의 시작에 를 붙여주고, 구간의 끝에 ]]>를 추가하면 해당 구역이 파싱 되지 않도록 설정할 수 있음 예시 HI TODAY 오늘의 대장 ... 안녕 &&. 공부 해야돼....? 결과 HI TODAY 오늘의 대장 ... 또는 태그, '', '&' 같은 특수문자들은 XML의 구조를 위한 것이 아님여서 안 읽히거나 오류남 CDATA 사용 예시 HI ..