PHP 13

Ubuntu 22.04 에서 Apache, MySQL, and PHP 설치하기

1. 아파치(Apache) 설치 $ sudo apt update && sudo apt -y upgrade - 아파치 설치 $ sudo apt install -y apache2 웹브라우저에서 http://localhost/ 로 접속하면 아래의 이미지와 같은 페이지를 확인 할 수가 있습니다. 2. 데이터베이스(DB) 설치 - mysql 을 설치할 경우에 $ sudo apt install -y mysql-server - mariadb(마리아DB)를 설치할 경우에 $ sudo apt install -y mariadb-server mariadb-client - 디비 암호 및 원격접속 등 보안관련 설정 $ sudo mysql_secure_installation 위의 명령어를 실행해서 디비 root(루트) 암호를 설..

IT News 2022.05.08

PHP 에서 크로스도메인 처리 및 전역변수 사용하기

만약 외부에서 AJAX 로 하여서 JSON 으로 값을 받아간다고 하였을때에.. 로컬에서는 되지만 외부에서는 않되는 경우가 있는데.. 이는 바로 크로스 도메인 문제 때문입니다. 즉 연결하려면 파일의 이름이 다른 도메인 영역대에 있기 때문입니다. 이는 데이터를 SEND 하는 곳이 아닌 데이터 값을 RESPONSE(응답)해주는 곳에서 처리를 해야합니다. 즉 외부의 사이트에서 도메인이 다른 특정 파일에 값을 요청한다고 했을때에는.. 해당 요청되어지는 파일에 아래와 같은 해더의 선언이 필요합니다. header('Access-Control-Allow-Origin: *'); 아래의 예제 코드와 같이 php 파일 상단에 써주면 됩니다. 그리고 php 함수에서 매개변수를 하나만 주었는데.. 외부에 선언된 변수값에 접근하..

IT News/PHP 2018.10.16

php 에서 현재 사용되고 있는 mysql db(데이터베이스) 이름을 알아내는 방법

php 에서 1가지 이상의 데이터베이스를 사용하는 경우에. 즉 한개의 DB만 사용하는 php 웹 프로그램이 아니라고 한다면.. 현대 연결되어진 DB 이름을 알 필요가 있습니다. 최근에 저는 총 5가지의 DB를 사용하게 되면서 사용하는 DB Connetion (데이터베이스 연결)을 바꾸어야 하는 경우가 생기는데요.. 같은 구조를 가진 DB 이지만 저장된 데이터가 DB로 따로 구분이 되어있는 경우였습니다. 이러한 경우에 올바르게 디비 선택이 되었는지 알아볼때에 유용할것 같습니다. 사용방법은 아래와 같은데요. 이 또한 특별한 php 함수가 있는것은 아니고 mysql 쿼리를 실행해서 디비 이름을 가져오는 방법입니다. mysql 자체 함수인 DATABASE 를 사용하였습니다. 아래의 예제를 보시면 도움이 되실것입..

IT News/PHP 2017.02.15

마이SQL 에 컬럼 추가하기 mysql add colum (alter table)

컬럼 추가 alter table test add new_colum varchar(20); 이렇게 해주면 w_date 밑에 new_colum 이라고 컬럼이 추가됩니다.. 특정 위치를 정해주고 싶으면 alter table test add new_colum varchar(20) after idx; 이렇게 해주면 idx 컬럼 다음에 추가됩니다.. 또는 alter table test add new_colum varchar(20) before member_id; 이렇게 해줘도 idx 컬럼 다음에 추가됩니다.. 컬럼 수정은 alter table test modify new_colum modify_colum varchar(10); 이렇게 해주면 new_colum 이 modify_colum 으로 varchar(10) 으..

IT News 2012.10.08

php 에서 다른 php를 실행(exec)하여 그 값을 가져오기

exec는 리눅스와 같이 웹서버에서 다른 특정한 파일을 실행할때 사용한다. 예를 들어 php를 위와같이 실행했다고 하자. 즉 GET 방식으로 id 라는 변수로 123 이라는 값을 전달하여 결과를 원했을 것이다. 그러나 exec 라는 명령어는 프로그램을 호출하는 명령어 이기 때문에 GET 이나 POST 전달방식이 아니다. 즉 일반 실행되는 프로그램처럼 $argv 라는 매개변수를 통해서 값을 전달 받게 된다. 따라서 exec 명령어로 호출되어 실행되는 파일에서 다음과 같은 php 를 넣어 실행해보자. 그러면 위의 실행결과를 보고 반환 값을 잘 조절할 수 있을 것이다. 다만 exec 를 할때 그 주소 값?도 약간 달라져야한다. 이와같이 실행을 해주어야 한다. 즉 일반 프로그램 실행될때와 같이 실행파일명 뒤에 ..

IT News/PHP 2012.08.10

PHP에서 특수문자 없애는 정규표현식

출처 : http://cafe.naver.com/q69.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=120105%26boardtype=L%26clubid=10346911%26menuid=200 PHP에서 특수문자 없애는 정규표현식 아래와 같이 적용하면 기본적인 특수문자를 제거하실수 있습니다. $string = preg_replace ("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#()\[\]\{\}]/i", "", $string); ^ : 처음에 바로 뒤의 문자열로 시작 ereg("^abcd",$str) ex. abcdef , abcdgggg $ : 마지막에 바로 앞의 문자열로 끝 ereg("abcd$",$str) ex. parkabcd ,..

IT News/PHP 2011.09.07

php textarea 를 사용할때 explode 하여 배열로 가져오는 방법

값 위와 같이 php로 게시판 내용을 저장하려면 textarea 를 사용해야 합니다. 왜냐하면 input 으로 하게 되면 한줄로 밖에 데이터를 저장하지 못합니다. 또한 form 에서 특수 문자를 전송할때 제대로 되지 않지만 textarea 는 그것이 가능합니다. textarea 에서는 텍스트 값을 입력받았을때 값을 구분하는 방법은 직접 특수 기회를 집어넣거나 쉬운 방법으로는 , 콤마를 넣는 방법이 있습니다. 그러나 특수 기호없이 값을 입력할때 enter 를 치면서 입력하는 경우입니다. 이 경우에 어떻게 데이터 값을 구분할 수 있겠는가?라고 생각하시겠지만... $dataDiv = explode("\n", $texeareaValue); 위와 같이 $dataDiv 변수에는 $texeareaValue 변수의 값..

IT News/PHP 2011.08.30

php 글 작성 시간으로 현재시간과 비교해서 새글 인지 아닌지를 알아낼때

$ctime = time(); $regdate = {.reg_date}; // 글 작성 시간 (템플릿코드) $untildate = $regdate + (3600*24*17); // 한시간에 3600초이고 24시간 하루 이며 17 일 이내의 글을 새글로 인식할 때 if($ctime > $untildate)  $isNew = "false"; else  $isNew = "true"; echo "".$isNew; echo "".date("Y-m-d h:i:s", $untildate); echo "".date("Y-m-d h:i:s", $ctime);?>

IT News/PHP 2011.04.12