반응형

Develop!/php 10

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

두 날짜 사이의 차이 구하기

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로 구현하는 시스템 모니터링툴

출처 : TestMaster 님의 블로그 시스템 모니터링이라고 하면 뭔가 복잡하고 어려운 것부터 생각되고 실제로 귀찮은 작업이기도 합니다. 이유있는 문제도 있지만 그렇지 않은 경우도 많습니다. 시스템 에러의 원인을 알 수 없을 때는 참 답답합니다. 그렇다면 그 해결책을 무엇일까요? 스스로 간단한 시스템 모니터링 툴을 만들어 보는 것입니다. SNMP에 대한 기본 지식이 있다면 PHP를 이용해 간단하게 만들 수 있습니다. 리눅스에서 PHP와 SNMP를 이용한 간단한 시스템 모니터링에 대해 알아보겠습니다. 프로그래밍하다 보면 이유 없이 시스템이 다운되는 경우가 있습니다. 물론 이유가 없다는 말은 이유를 알 수 없는 경우입니다. 그렇다고 24시간 서버만 붙잡고 있을 수도 없을 것입니다. 그래서 나온 것이 시스템..

Develop!/php 2006.12.14

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

제가 올리는 팁이 항상 그렇듯이... 실력 좋은 분들은 패쓰해야 하는 허접한 팁입니다. 그점 감안하고 봐 주세요 ^^;; 일반적으로 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
반응형