728x90
반응형

php 15

캐릭터셋에 대한 고민...

회사에서 sms 발송 시 특정 문자가 깨져 나가는 문제가 발생...sms 발송 시스템은 "세X 텔레X"을 사용 하는데 특정 DB에 값을 넣어 두면 jar로 실행 되는 데몬이 해당 DB 값을 읽어서 발송 하는 방식임.DB에 값이 들어갈 때까지 UTF-8 형식이고 깨지지 않고 들어가는데, 실제 폰에서 받아 보기만 하면 깨지는 상황.깨지는 문자는 "–" 임. 일반 키보드에서 치는 "-"와는 다르고, 워드나 한글 등에서 copy & paste 한 것으로 보임.실제 폰에서 받아 볼 경우 해당 문자는 "?"으로 치환 되어 옴. 해당 현상을 재현 하기 위해 php에서 테스트 해 보았으나 재현 안되고Java에서는 아래와 같은 방식으로 재현 됨. 콘솔에 찍힌 결과 값은 아래와 같음.euckrString : 201? 21..

Develop! 2018.03.21

이미지 파일 업로드 오류 수정 기록...

구매후기 이미지 업로드에서 오류가 나고 있어서 해당 내용을 검토 중에 알게 된 내용을 정리합니다. 기본적으로 아래와 같은 방식으로 업로드가 되고 있습니다. 브라우저 -> php -> Java 그런데 문제는 어느 한쪽의 문제가 아니라 php, Java 둘다 문제가 발생... 그리고 문제의 원인은 둘다 Version Up이였습니다. 1. 먼저 Java Error Message가 "Required MultipartFile parameter 'file' is not present" 라고 발생. 구글링 하니 http://stackoverflow.com/questions/25830503/spring-mvc-http-status-400-required-multipartfile-parameter-file-is-not-..

Java/Spring 2016.11.08

PHP curl로 파일 전송할 때 mime type 같이 전송하기

필요에 의해 html -> php -> java api로 파일을 전송해야 할 일이 생겼다. Java Api는 UI에서 바로 사용하면 안되는 상태라서 php를 거쳐 가야 하는데 html에서 올린 파일을 Java API로 전달 하는 과정이 생각보다 쉽지 않아 정리 차원에서 글을 남긴다. Html에서 php로 파일을 올리게 되면 $_FILES 라는 전역변수 안에 정보가 담기고, 실제 파일은 php.ini에서 지정한 임시 디렉토리에 저장된다. 해당 경로는 $_FILES['업로드한 html form name']['tmp_name'] 에 저장되어 있으며, 해당 파일을 다시 Java API 쪽으로 넘겨 주면 된다. 넘겨주는 방법은 curl을 사용하면 된다. 다음과 같은 방법으로 하면 된다. $headers = arr..

Develop!/php 2016.05.23

php의 람다식, 가변 함수

오랜만에 php 코드를 들여다 볼 일이 생겼는데, 알지 못할만한 소스코드들이 있어 헤메다가 정리 차원에서 적어둔다. 1. php의 람다식. http://php.net/manual/kr/function.array-walk.php array_walk($data, function(&$value, $key, $joinUsing) { $value = $key . $joinUsing . $value; }, $glue); array_walk의 2번째 인자값을 function 변수로 넘길 수도 있지만 위에처럼 람다식으로 그냥 적어버릴 수 있다. 안드로이드에서 Callback 함수로 람다식으로 적는 경우가 많은데, 그런식으로 작성하나 보다. 오랜만에 php 하니 새롭다 ^^;; 2. 가변함수 이런말 첨 들어보는데, 위의..

Develop!/php 2015.08.20

mysqli bind_result에서 발생하는 memory 오류 대처법

XE의 mysqli 환경 가운데서 발생하는 오류를 잡기 위해 테스트 하다가 설치 후 초기 화면 조차 보이지 않는 문제를 당면하게 되었다.맞닥뜨리게 된 에러는 다음과 같다. Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 4294967296 bytes) in .../classes/db/DBMysqli.class.php on line 234 4G 메모리 할당을 하다가 오류가 발생했다는 오류였다.대부분 memeory 할당 오류는 php.ini 또는 ini_set을 통해 해결할 수 있다는 답변 뿐이였다.예를 들어 http://www.xpressengine.com/qna/20836943 이런 식 ^^;; 그런데 ph..

Develop!/php 2012.08.14

PHP를 이용한 다중 연결 소켓 통신 (3)

이진우 프리랜서 프로그래머 차례1. 소개2. pcntl_fork() 함수3. PHP 컴파일 하기4. 프로그램 작성4.1. 서버 만들기4.2. 클라이언트 만들기4.3. 실행하기5. 결론 이문서의 배포는 자유로우나 최소한 제작자의 정보는 제외하지 않고 배포해 주세요. 문서가 존재하는 모든곳에 답변을 드릴수 없으므로 질문은 홈페이지(http://www.jinoos.com)에서만 받습니다. 1. 소개이번강좌에는 fork를 이용해서 새로운 프로세스를 생성하여 생성된 자식 서버프로세스가 클라이언트를 담당하는 형태를 구연해 보겠습니다. PHP에서 fork함수로는 Process Control 함수의 pcntl_fork() 함수가 있습니다. Process Control 함수는 기본함수가 아니기 때문에 컴파일시 옵셥으로 ..

Develop!/php 2011.10.07

PHP를 이용한 다중 연결 소켓 통신 (2)

이진우 프리랜서 프로그래머 차례1. 소개2. SELECT2.1. socket_select() 함수3. 프로그램 작성3.1. 서버 만들기3.2. 클라이언트 만들기3.3. 실행하기4. 결론 이문서의 배포는 자유로우나 최소한 제작자의 정보는 제외하지 않고 배포해 주세요. 문서가 존재하는 모든곳에 답변을 드릴수 없으므로 질문은 홈페이지(http://www.jinoos.com)에서만 받습니다. 1. 소개저번강좌(PHP를 이용한 다중 연결 소켓 통신 (1))에 간단한 서버/클라이언트 프로그램을 만들어 보았습니다. 하지만 이것은 많은 부분이 부족하다는 생각들을 하셨을껍니다. 오늘 시간에는 socket_select() 함수를 통해서 다중의 클라이언트 요청을 처리하는 프로그램을 짜 보겠습니다. 2. SELECT저번강좌(..

Develop!/php 2011.10.07

PHP를 이용한 다중 연결 소켓 통신 (1)

from phpschool 이진우 프리랜서 프로그래머 차례1. 소개1.1. PHP 컴파일 하기1.2. PHP의 소켓 함수2. 소켓 서버 만들기3. 소켓 클라이언트 만들기 와 실행4. 결론 이문서의 배포는 자유로우나 최소한 제작자의 정보는 제외하지 않고 배포해 주세요. 문서가 존재하는 모든곳에 답변을 드릴수 없으므로 질문은 홈페이지(http://www.jinoos.com)에서만 받습니다. 1. 소개앞으로 몇번에 걸처서 PHP를 이용한 다중 연결 소켓 통신에 대해서 알아보겠습니다. PHP는 확장 함수로 socket 계열 함수를 지원합니다. 하지만 이것은 컴파일시 --with-socket 옵션을 주어 컴파일 해야 합니다. 클라이언트 소켓에 관한 함수 fsockopen()는 이곳에서 사용하지 않습니다. 1.1...

Develop!/php 2011.10.07

Naver OpenAPI를 위한 php 라이브러리가 나왔네요

위 영상을 보시면 아시겠지만... 네이버의 OpenAPI를 사용하게 하기 위한 php 라이브러리를 제공해 주네요. 기존에는 http request를 통한 xml을 파싱하고 그 결과를 다시 적용하는 방법이였는데 php 라이브러리를 통해 바로 바로 가져다 쓸 수 있게 만들어 두었으니 상당히 좋아 보입니다. 아직 써보지는 않았지만 한번 시간 날 때 테스트 해 봐야 겠네요 ^^ 관련 된 소스는 http://cafe.naver.com/openapi/1371 에서 다운받으시면 될 듯 합니다. 전체 동영상은 http://video.naver.com/2008050910494635214 에서 확인할 수 있습니다. 덧. http://kldp.net/projects/nol-php/ 에서도 관련 프로젝트가 진행 중이군요 ^^..

Develop?/News 2008.05.09

두 날짜 사이의 차이 구하기

MySQL에 보면 DATEDIFF나 TIMEDIFF 함수를 쓰면 두 날짜 사이의 차이를 구할 수 있다. 사실 이 함수를 사용하는 것이 더 편하다. 그런데 이 함수의 사용법을 알면서도 착각을 했는지... PHP로 그만 다시 만들어 버리고 말았다 -.-;; function dateDiff($sStartDate, $sEndDate) { $sStartTime = strtotime($sStartDate); $sEndTime = strtotime($sEndDate); if($sStartTime > $sEndTime) return false; $sDiffTime = $sEndTime - $sStartTime; $aReturnValue['d'] = floor($sDiffTime/60/60/24); //$aReturnV..

Develop!/php 2007.01.09

대량 메일 발송 삽질 후기...

제가 올리는 팁이 항상 그렇듯이... 실력 좋은 분들은 패쓰해야 하는 허접한 팁입니다. 그점 감안하고 봐 주세요 ^^;; 일반적으로 php 프로그래밍은 길어봐야 수초 내에 끝나는 것이 대부분이다. 하지만, 메일을 보낸다거나 할 경우에는 소스 상단에 set_time_limit(0); 를 추가해서 보내는 경우가 있다. 물론 돈이 많거나, 실력이 뛰어난 프로그래머라면, 좋은 발송기를 사거나, 좋은 프로그램을 짜서 보내면 되지만, 나와 같이 허접한 실력의 프로그래머라면, php로 해결하는 수 밖에 없다 ^^;;; 보통의 경우... 대량 메일을 보내기 위해서는 서버단 설정을 먼저해야 한다. 요즘 나오는 센드메일은 멀티 큐를 지원하고 있고, 큐메일은 예전부터 멀티큐를 지원하기 때문에, 메일 서버 자체에서는 별로 설..

Develop!/php 2006.11.10 (9)

에디터 플러스에서 php로 콘솔 출력하기..

phpschool의 피곤해 님이 올리신 팁입니다. *************************************************************************** 팁란에 이클립스에서 콘솔상에서 php 실행하는거 보고.. 괜찮다 싶어 적어봅니다. 그래서 에디터플러스에서도 콘솔상으로 출력하는거 적어 봅니다. 큰 팁은 아니지만.. 생각치 못한 분들을 위해.. 우선 php.exe 파일이 있어야 윈도우상에서 콘솔로 실행이 가능합니다. php.net에서 윈도우용 php를 다운 받아서 설치합니다. 그리고 에디터 플러스의 사용자 도구 구성에다 php.exe의 경로를 잡아줍니다. 명령에는 php.exe 파일의 경로를, 인수에는 파일이름, 디렉토리에는 파일디렉토리를 선택해 줍니다. 그리고 아래는 h..

Develop!/php 2006.11.08
728x90
반응형