'php'에 해당되는 글 4건

  1. 2011/10/28 PHP의 allow_url_fopen=off일때 URL 주소로 파일 읽어오기
  2. 2011/10/26 MySQL 테이블을 모두 삭제하는 PHP 소스~
  3. 2011/10/24 정규식으로 전화번호 형식 변경하기 (-포함해서 출력하기)
  4. 2007/09/21 초보자를 위한 PHP, MySQL, Apache (1)

PHP의 allow_url_fopen=off일때 URL 주소로 파일 읽어오기

|


php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리하면 됩니다.


하지만 allow_url_fopen=off로 설정되어 있는 경우,
일단 php.ini 파일을 수정하면 됩니다.
벗뜨~~ 웹 호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있죠~
 
이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법이 있었슴다..




추가적으로 GET 방식 호출은 다음과 같이 할 수도 있습니다.


기타 다른 방법으로는 .htaccess 파일을 이용하는 방법도 있더라구요..
.htaccess 파일에 다음과 같은 내용을 추가하면 된다고 합니다.
 
php_flag allow_url_fopen 1
 
하지만 위 방식보다는 fopen 대신 fsockopen을 이용하는게 나을 것 같습니다. 

 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

MySQL 테이블을 모두 삭제하는 PHP 소스~

|


PHP와 MySQL을 사용하는 웹 호스팅에서 데이터베이스의 모든 테이블을 지우려고 할 경우, Drop Database 문을 활용하지 못하는 경우가 많습니다.

그렇다고 수많은 테이블을 하나씩 지우는 것도 방법이 아닐 듯 하네요..

그래서 다음과 같은 PHP 프로그램을 통해서 처리할 수 있을 것 같습니다.

먼저 "show table"을 사용해서 전체 테이블 정보를 가져오고 이어서 "drop table" 명령으로 하나씩 지우면 되겠죠.

다음 소스를 참고하세요~




크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

정규식으로 전화번호 형식 변경하기 (-포함해서 출력하기)

|


전화번호를 다루는 프로그래밍을 하다보면 포맷이 다른 경우가 많습니다. 
그래서 중간에 )나 -가 들어가 있는 경우는 그대로 두고, 숫자만 있는 경우 포맷을 변경해서 -를 추가하는 javascript를 구성해 봤습니다. 

즉, 다음과 같은 형태로 처리 된다고 보시면 됩니다. 

021112222 -> 02-111-2222
03111112222 -> 031-1111-2222
0101112222 -> 010-111-2222 

이와 같은 작업을 하기 위해서 두가지 방법이 있습니다. 
전체 자리수를 확인하고 if ~ else를 통해서 경우의 수를 모두 처리하는 방법이겠죠. 

그런데 좀 세련되어 보이지 않습니다. 
그래서 정규식(Regular Expression)을 사용해 보기로 하겠습니다. 

구성한 예제는 다음과 같습니다. 



상당히 간단하게 되어 있는 것 같죠.. ^^
이해하지 못하고 사용하는 것은 본인 소스가 아니라고 봐야 합니다. 
그래서 간단히 위 소스를 설명하도록 하지요..

정규식에서 괄호()를 사용하면 순서대로 $1, $2, $3... 와 같이 불러서 사용할 수 있습니다. 
위 정규식을 살펴보면 괄호가 3개 있는 것을 알 수 있습니다. 


먼저 맨 뒤 괄호부터 보시죠..

([0-9]{4})

바로 0~9까지의 숫자를 4자리 가져온다는 겁니다.
실제 전화번호의 마지막 뒷자리는 4자리로 구성되어 있습니다.

이어서 중간 부분을 살펴보시죠..

([0-9]*)

0~9까지의 숫자 나머지 전부를 가져오라는 겁니다.
즉, 전화번호의 앞부분과 맨 뒷부분을 식별하고 나머지는 중간 자리로 판단한다는 것이죠..

그럼.. 가장 복잡한 앞부분을 살펴보도록 하겠습니다.

(^02.{0}|^01.{1}|[0-9]{3})

복잡해 보이지만 하나씩 풀어보면 쉽습니다. 
^02.{0} : ^는 정규식에서 시작을 의미하죠.. 02로 시작할 경우이구요.. "."은 문자 하나를 나타내는데.. {0}이니 이 문장은 "02"만 추출하겠다는 겁니다. 
^01.{1} : 마찬가지로 01로 시작하는 것이고 .{1} 이므로 이후 1자리까지 추출한다는 것이죠.. 01x로 시작하는 휴대폰을 의미합니다.
[0-9]{3} : 0~9까지 숫자 중 3자리만 추출한다는 것입니다.

이 세 가지 경우를 "|"로 연결하고 있으므로 셋 중의 하나를 선택한다고 보시면 됩니다. 

이렇게 하면 세 가지 숫자가 나오고 이것을 -로 연결하라는 것이 위 정규식의 의미가 되겠죠.. ^^

PHP와 같은 곳에서도 직접 정규식을 사용할 수 있으므로 다음과 같이 사용하면 바로 전화번호를 변경할 수 있겠네요.. 



preg_replace() 함수가  PHP에서 정규식을 통해 문자열을 치환하는 것이네요~

그럼. 즐프하세요 ^^ 

 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

초보자를 위한 PHP, MySQL, Apache

|


초보자를 위한 PHP, MySQL, Apache - 4점
Julie C. Meloni 지음, 김석중 옮김/정보문화사

제 홈페이지 환경이 PHP로 되어 있어..
간간히 짧은 지식으로 이것저것 만들어 보다가~
PHP에 대해 체계적으로 함 보자.. 해서 살펴본 책입니다.

전체적으로 PHP에 대해 설명이 되어 있는데요..
깊이는 부족한 것 같습니다.

수박 겉핥기 식으로 전체적으로 쭉 훑어보기에는 괜찮지만...
PHP에 대한 세부적인 내용은 분야별로 별도의 내용을 찾아보심이 좋을 것 같네요..

어차피 현재 저에게 필요했던 것은 PHP의 전체적인 흐름이었으니~
어느정도는 만족하고 본 셈인데요.

그럼.. 각 파트별로 살펴볼 내용을 요약하도록 하겠습니다.

제 1부 기초다지기는 PHP, Apache, Mysql의 설치와 관련된 부분인데요..
아쉬운 부분은 PHP나 Apache의 설정 부분에 대한 설명이 좀 약하다는 겁니다.
솔직히 윈도우, 맥, 유닉스/리눅스로 나누어 설명하고 있는데..
실질적으로 설치에서 중요한 것은 setup이 아니라 config를 다루는 부분이 아닐까 하는 생각이 좀 들었슴다.

제 2부 PHP 구조 부분에서는 PHP의 언어적 특징을 잘 설명하고 있습니다.
기본적으로 언어마다의 변수, 제어문, 함수등을 잘 이해할 필요는 있는 것이죠..
PHP에서 강력하게 활용할 수 있는 배열에 대해서도 어느정도 설명이 되어 있더군요..
아쉬운 점은 클래스와 같이 현재 PHP 버전에서 강력하게 사용할 수 있는 OOP에 대한 설명이 좀 부족했다는 생각이 드네요..

제 3부 PHP 코드 정복 부분이 이 책의 핵심이 아닐까 합니다.
쿠키, 세션, 파일등에 대한 설명이 나오는데요..
필요할 때 참조할 만 할 것 같습니다.

제 4부 PHP와 Mysql 통합에서 PHP에서 Mysql을 사용하는 방법이 잘 나와 있습니다.
데이터베이스를 활용하지 않는 프로젝트는 거의 없으므로 주의깊게 보셔야 하구요..
다만, 앞부분의 데이터베이스 개론이나 SQL 기초 부분은 뭐~ 초보자에게는 필요하겠지만
여기에서 다루지 않아도 될 주제가 아니었나 하기도 하고.. 암튼..

제 5부 필수 프로젝트는 PHP 사용 예제를 보여주고 있는데요..
달력 부분하고 XML 다루기 부분을 유의깊게 봤구요..
나머지는 그럭저럭 입니다. 걍 PHP를 이렇게 쓰는구나 하고 보시면 될 듯..

제 6부 관리와 튜닝은 초보자에게는 좀 어려울 수도 있는데요..
그렇다고 아주 전문적인 자료도 아닌 것 같아요..
그냥 상식을 늘린다는 차원에서 훑어보심이 좋을 듯 하네요~

전체적으로 정리하다보니..
아쉬운점을 주로 나열한 것 같네요.. 하지만 언어에 대한 전반적인 책의 형태가 다 이런식입니다.

언어의 구조(변수, 제어문, 함수, 배열..) 설명하고 예제 좀 보여주고 나면 별로 다룰 게 없거든요..
그렇지만 어쨌든 책을 보는 건 중요합니다.
웹상의 자료들도 잘만 검색하면 당장 필요한 것을 얻을 수 있지만, 체계를 갖추기가 어렵다고 보거든요

그럼.. 좋은 하루 되세요~~
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 1
prev | 1 | next