웹 개발 & 정보/PHP 6

PHP 이미지 워터마크(텍스트&이미지) 삽입하기

이번 포스팅에서는 PHP로 이미지에 워터마크 넣는 방법을 알려드리겠습니다. PHP 기본 소스와 이미지 함수 등을 사용하였으며, PHP GD라이브러리가 사용 가능해야 하는 점 참고 바랍니다. 워터마크를 텍스트로 넣는 방법, 이미지로 넣는 방법 2가지를 모두 살펴보겠습니다. 1. PHP 워터마크 텍스트로 삽입하기 워터마크를 텍스트로 삽입하기 위해서는 TTF 폰트 파일이 필요합니다. (폰트 파일은 구글링으로 쉽게 구할 수 있음. 저작권 등은 잘 알아보고 사용하세요) 여기서는 배민 주아체를 사용해보았습니다. 예제 소스입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ..

[PHP] 네이버 검색 API로 내 사이트에 뉴스 검색 결과 출력하기

이번 포스팅에서는 네이버 오픈 API와 PHP 를 사용하여, 네이버 뉴스 검색 결과를 내 사이트에 출력하는 방법을 알려드리겠습니다. 이 API는 사용 방법이 쉬우므로 비교적 짧은 포스팅이 될 것 같네요. 1. 뉴스 검색 API 개발 페이지로 접속 -> https://developers.naver.com/docs/search/news/ 검색 API 페이지 접속 후, 오픈 API 이용 신청 버튼을 클릭합니다. 로그인 상태가 아니라면 네이버 아이디로 로그인 해주시면 됩니다. 2. 검색 API 애플리케이션 등록 API 등록 방법은 매우 간단합니다. - 애플리케이션 이름 : 아무거나 적어도 상관없습니다. - 사용 API : 건드리지 않아도 됩니다. - 비로그인 오픈 API 서비스 환경 : WEB 설정 을 선택합니..

[PHP] 텔레그램 api로 알림(push) 받기

php와 텔레그램 api를 사용하여 푸시 알림 받기 홈페이지에 문의가 등록되면 핸드폰으로 알림이 오는 기능이 필요했습니다. 알림톡이나 문자 알림 등의 서비스가 있지만, 저는 평소에 텔레그램 메신저를 자주 사용하기 때문에 텔레그램 푸시를 검색하다가 발견한 정보입니다. 유용한 듯하여 정리해서 포스팅합니다. 포스팅 내용은 알림(psuh)에 사용될 텔레그램 봇(bot) 생성 → 생성된 봇의 token 발급 → 알림 메시지 발송에 필요한 message_id 알아내기 순서가 되겠습니다. PC에서 설정을 해야 하므로, 텔레그램 PC 버전을 설치하고 알림을 받을 텔레그램 아이디로 로그인해 둡니다. 완료하셨다면 https://telegram.me/botfather 주소로 접속합니다. Telegram Link 열기를 눌러..

[PHP] PHP Mailer로 메일 전송 (네이버 아이디 사용)

기존 PHP Mailer 를 사용하는 경우, 네이버 메일 주소로는 메일 전송이 안되는 경우가 있습니다. 그럴 때 메일 전송이 가능한 PHP Mailer 소스를 공유합니다. ※ 다량 메일 전송, 대용량 첨부파일 메일 전송 등은 테스트 해보지 않았습니다. 이 소스를 사용하기 위해서는 PHP Mailer에 사용될 네이버 아이디가 하나 필요합니다. (제재를 받거나 이용 정지를 당한 아이디는 PHP Mailer로 메일이 발송되지 않습니다.) 1. 네이버 아이디 설정 1) 네이버 메일함 -> 환경 설정 2) POP3/IMAP 설정 3) IMAP/SMTP 설정 탭 4) IMAP/SMTP 사용 체크 -> 확인 여기까지 했으면, 일단 네이버 아이디는 PHP Mailer를 사용할 준비가 완료되었습니다. 2. PHP 소스 ..

[PHP] curl 페이지 크롤링 함수

기본적인 php curl 함수에 필요할만한 옵션을 몇가지 추가하여 함수로 만들어 보았습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344 실제로 평소 어떤 페이지를 크롤링 및 파싱할 때 자주 사용하는 기능들을 모아서 만든 php curl 함수입니다. post 전송, 리퍼러 지정, 쿠키처리 정도까지만 넣었고, header 지정이나 uesragent 지정 등은 필요하다면 따로 넣어서 사용하면 될 듯 합니다. 일반적인 페이지 (+로그인이 필요한 페이지) 정도는 무리없이 파싱 작업이 가능할 것입니다.