#php
12024.12.05
인플루언서 
887프로그래머
참여 콘텐츠 7
[PHP] PHPExcel 라이브러리 사용방법

PHPExcel 라이브러리 사용방법 웹페이지를 활용하여 엑셀 파일을 업로드 또는 다운로드 하는 코드가 필요한 경우가 있습니다. PHP에서는 이러한 상황에서 활용할 수 있는 라이브러리가 있습니다. 2015년 까지 개발이 되었던 라이브러리인 PHPExcel 사용방법에 알아보겠습니다. 라이브러리 설치하기 GitHub - PHPOffice/PHPExcel: ARCHIVED ARCHIVED. Contribute to PHPOffice/PHPExcel development by creating an account on GitHub. github.com 깃헙에 가서 해당 프로젝트를 받아서 설치하여 include 하여 사용하시면됩니다. README 파일을 읽어보면 새로운 프로젝트가 있다고 합니다. PhpSpreadsheet 라는 사용자들이 계속 업데이트하여 발전시킨 라이브러리가 존재한다고 합니다. 오늘은 기존 PHPExcel에 대해서 알아보고 나중에 기회가 생기면 PhpSpreadsheet에 대해서도 알아보자. 엑셀 파일 업로드 이제 가장 처음으로 엑셀파일을 업로드하는 프로젝트 코드를 분석해보고자 합니다. 아래의 코드는 참고 코드이니 보고 입맛에 맞게 골라서 수정하시면 됩니다. $allData = array(); // Upload Server -- START $saveDir = ""; $filename = $_FILES['excelFile']['n...

2024.12.04
2
[PHP] __call() 매직메소드란

__call() © karlp, 출처 Unsplash 오늘은 간단하게 몇 줄만 기록하고 잠을 청하려고 합니다. 가볍게 알아볼 것은 __call()이라는 메소드입니다! __call() 매직메소드 우리가 프로그래밍을 하다보면 클래스를 생성함과 동시에 construct, destruct(destory), get, set 은 프로그래밍을 하다보면 자연스레 이해하고 적용을 하고 있을 것 입니다. php에는 그 외에 여러 메소드가 존재하지만 __call()이라는 메소드가 존재합니다. 거두절미 다 필요없이 바로 코드를 통해서 알아보자! 아래 사이트의 예제를 살펴보면서 한번에 생성자와 call에 대해서 알아보자! https://www.phptutorial.net/php-oop/php-__call/ class Str { private $s = ''; private $functions = [ 'length' => 'strlen', 'upper' => 'strtoupper', 'lower' => 'strtolower' // map more method to functions ]; public function __construct(string $s) { $this->s = $s; } public function __call($method, $args) { if (!in_array($method, array_keys($this->functions))) { ...

2024.05.14
2
[PHP] 피에이치피 Trace 구현하기!

php tracing call stack 만들기 © bradneathery, 출처 Unsplash 오늘은 php에서 추적을 구축하는 방법에 대해서 알아보려고합니다! 데이터독을 활용하는 방법도 존재하지만 내장함수를 활용하여 직접 구현하는 것도 좋은 방법이다~ 내장 함수 debug_backtrace 와 debug_print_backtrace 내장 함수중 위의 함수를 활용하여 추적이 가능하다! 아래와 같은 코드를 만들어서 실행하면 어떠한 결과가 나올까? public function bbb(){ debung_backtrace(); echo "BBB Call()"; } public function aaa(){ bbb(); } --- aaa(); 위와 같이 함수를 만들고 aaa()를 실행하면 bbb()함수가 작동할건데 bbb()는 동작하면서 자신을 부른 aaa() 함수가 존재하는 파일과 해당 라인까지 상세하게 표기를 해줍니다. 이 방법을 활용하여 자신만의 trace를 구현하여 활용하면 됩니다. 현재 저와 같은 경우는 회사내 프로젝트에서 여러 작업자가 거쳐가는 과정에서 똑같은 함수(비슷한 행동을 하는 함수)가 여럿 존재하는데 이러한 경우의 콜을 체크하거나 sql 을 동작시키는 과정의 실행시간을 탐지하는 함수를 만들어서 활용하여 최적화를 하고 있습니다. 이게 맞는 방법일지는 모르나 현재로써는 방도가 없기에 저는 트레이싱을 통해서 최대한 괜찮은 결과...

2024.04.21
5
[Apache] 아파치 설치 및 PHP 설정 (windows)

아파치 설치 및 PHP 설정하기 © benofthenorth, 출처 Unsplash 안녕하세요. 오늘은 Apache를 설치하고 PHP와 연동하는 방법에 대해서 알아보겠습니다. 이직한 회사에서 현재는 PHP 프로젝트를 하고 있다보니 오랜만에 기억을 끓어올리면 작업을 하고있습니다. 기존 IIS 에서 Apache로 옮기는 작업중이며 추 후 Nginx + Node (fastify)조합으로 바꾸려합니다. 어느덧 개발을 하다보니 내가 생각한 것을 팀원들과 소통하여 바꿀 수 있는 시기가 되어 기쁘면서도 무섭네요. Apache 설치하기 현 회사 기준이기 IDC센터의 윈도우 PC에 아파치를 설치하였습니다. Docker나 쿠버네티스 환경이 가능했다면 바이너리 버전을 설치하였겠지만 쉬운 exe버전으로 해보겠습니다. 아파치 공식홈페이지 메인 이미지 Welcome to The Apache Software Foundation! Software for the Public Good ASF’s open source software is used ubiquitously around the world with more than 8,400 committers contributing to more than 320 active projects. See All Projects Contribute "The most popular open source software is Ap...

2024.01.07
2
[PHP] geoPHP를 활용한 건물공간정보 표현하기

건물공간정보 표현하기 카카오지도, 건물공간정보, geoPHP © karishea, 출처 Unsplash 사전준비 꾹의 개발노트 : 네이버 블로그 배우고 노력하는 개발자 모름은 배움의 시작 흐름을 잘 파악하라 yug311861@네이버 blog.naver.com 먼저 위의 카테고리의 정보를 먼저 숙지하는 것도 좋습니다. 해당 자료를 토대로 건물정보(공간정보)를 일괄 입력하여 해당 데이터를 추출할 예정이기 때문입니다. 데이터 입력하기 postgresql을 활용 건물공간정보 입력하기 데이터 입력하기 (QGIS 툴을 활용한 데이터 병합작업) 건물정보를 모두 받아주세요 해당 데이터를 QGIS툴에 모두 올려주세요. 상단 메뉴 벡터 -> 데이터 관리 도구 -> 벡터 레이어 병합 옵션 설정하기 ( 입력 레이어 : 전체 선택 / 대상 좌표계 : 4326 / 병합한 산출물 : 저장위치 지정 ) 병합된 데이터 SQL문 추출하기 데이터 입력과정에서 만든 파일을 호출해주세요. 호출된 레이어에서 오른쪽 클릭 -> 내보내기(익스포트) -> 객체 다른 이름으로 저장 옵션 설정하기 (포맷 : postgresql 덤프 / 파일 이름 : 저장 위치 설정 / 좌표계 : 4326 ) 데이터 입력하기 ( 여러 방법이 존재 저는 커맨드를 활용하였습니다.) psql -h [호스트] -U [유저명] -d [뎅터베이스명] -f [덤프 파일 위치] geoPHP 활용해보기 GitHub...

2022.11.02
2
[php + geometry] geoPHP 모듈 사용하기

[php + geometry] geoPHP 모듈 사용하기 오늘은 본격적으로 우리가 입력한 데이터를 불러오는 작업을 진행해보겠습니다! 그렇기 위해서 사전에 pg_sql을 연결하셔야합니다 해당 부분은 이전 내용을 숙지하세요. [PHP + postgresql] pdo_pgsql 설정하기 (mac) [PHP + postgresql] pdo_pgsql 설정하기 (mac) homebrew가 있다고 가정한다. 방법은 2가지가 있는 것으... blog.naver.com 사전 작업인 pdo_pg_sql을 간단하게 사용하는 과정을 먼저 설명드리고 이후에 지오매트리 데이터를 분석하는 라이브러리 geoPHP를 이용해보겠습니다! pdo_pg_sql 사용하기 참고영상 (해당 유투브 영상 올려주신 분의 자료를 참고하면 더 많은 정보가 존재합니다!) https://www.youtube.com/watch?v=_mWTJdCAekc config.php 설정 정보를 관리할 파일 <? $host = 'localhost'; $db = 'koreagis'; $user = 'gis_master'; $password = 'test'; ?> connect.php 실제 연결 소스를 저장받을 파일 <? require_once 'config.php'; function connect(string $host, string $db, string $user, string $password):...

2022.07.19
[PHP + postgresql] pdo_pgsql 설정하기 (mac)

[PHP + postgresql] pdo_pgsql 설정하기 (mac) homebrew가 있다고 가정한다. 방법은 2가지가 있는 것으로 파악됩니다. 방법1) 순서대로 차근차근 설치하기 brew install httpd brew install php -- 특정 버전을 설치할 경우 brew install php@8.0 설정 파일들 위치는 아래와 같습니다. /opt/homebrew/etc/httpd/httpd.conf -- 옵션들 포트변경하기 Listen 80 (52번 줄) 모듈 활성화 LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so 모듈 추가하기 (php 버전이 다른 경우 다른 폴더에 있으니 체크 할 것) LoadModule php_module /opt/homebrew/opt/php@8.0/lib/httpd/modules/libphp.so 유저 셋팅하기 User 자신의맥유저명 Group staff 서버관리자 변경하기 ServerAdmin localhost (217번 줄) 디렉토리 변경하기 DocumentRoot 와 <Directory> 부분에 자신의 프로젝트 주소를 지정 ( 250번 줄 ) 오버라이드 옵션활성화 디렉토리 내부에 있는 AllowOverride 옵션을 All 활성화 rewrite 연결하기 제일 하단에 해당 옵션을 추가한다. AddType application/x-htt...

2022.07.19