본문 바로가기

php5

[PhpSpreadsheet] PHP에서 엑셀파일 업로드, 다운로드 솔루션 최신판 PhpSpreadsheet (PHPExcel 업그레이드 버전) PHP에서 엑셀파일을 업로드 하거나 데이터를 엑셀파일로 다운로드 받을 때 주로 사용하는 것이 PHPExcel입니다. 그런데 PHPExcel이 더 이상 업데이트나 유지보수가 없고, 대신에 업그레이드 버전인 PhpSpreadsheet가 공개되었습니다. 업그레이드 버전인 만큼 실제 엑셀파일을 다루는 코드 사용 방법은 거의 동일합니다. 다만 앞부분에 관련 기능을 불러오는 오브젝트 생성 단계가 조금 달라졌습니다. 그러면 신규 버전인 PhpSpreadsheet의 기본 설정 방법과 사용가이드, github 경로 등을 소개하겠습니다. @ 기본 설정 방법 PhpSpreadsheet는 composer.json 으로 설치하게 되고, 그래서 autoload.php 를 이용해서 로드하게 됩니다. 1 2 3 4 5 6 7 8 9.. 2020. 10. 21.
PHPExcel, PhpSpreadsheet 사용 시에 ERR_INVALID_RESPONSE 오류 해결 방법 PHP로 웹사이트를 제작하면서 화면에 표시되는 데이터를 엑셀 파일로 다운로드 받을 때 주로 이용하는 것이 PHPExcel입니다. 그리고, 현재는 PHPExcel의 유지보수가 중단되고 업그레이드 버전인 PhpSpreadsheet가 공개된 상태입니다. 아무튼, 엑셀 파일로 다운로드 받을 때 간혹 ERR_INVALID_RESPONSE 이라는 오류 메시지가 나타날 때가 있습니다. 이런 저런 방법을 찾아보고 코드를 변경해보다가 결국은 PHPExcel이 오래된 것이라 새로운 버전인 PhpSpreadsheet를 이용해보라는 정보를 보고 바꾸어 보았지만 역시나 해결이 되지 않았습니다. 그러다 구글에서 겨우겨우 찾은 해결방법을 적용해보니 해결이 되어 공유하려고 합니다. 오류가 발생하는 상황을 다시 떠올려보니 데이터가 매.. 2020. 10. 8.
[AWS] bitnami LAMP 설정하기 (ubuntu, apache, php, mysql) AWS에 간단한 웹사이트를 만들때 주로 사용하게 되는 것이 LAMP(Linux, Apache, Mysql, PHP)인데, 직접 설치해서 사용해도 되지만 AWS에는 LAMP가 기본적으로 설치, 설정되어 있는 라이브러리가 있습니다. 그중에서 유명한 것이 bitnami 입니다. 제가 최근에 설치한 것이 Ubuntu 16.04 버전 기반으로 AMP가 설치된 버전이었는데, AWS EC2에서 새로운 서버를 설치할 때 AWS MarketPlace에서 Linux, PHP 버전별로 찾아서 설치하시면 됩니다. https://aws.amazon.com/marketplace/search/results?searchTerms=lamp 설치 후에 각종 설정 파일들 위치가 직접 설치하는 경우와는 다르기 때문에 쉽게 확인하고 설정할 .. 2019. 5. 9.
SQL Injection 방지 코드, 지정된 형식의 문자만 입력 받기 웹개발을 하면서 항상 신경 쓰이는 것이 SQL Injection을 비롯한 각종 보안문제입니다.특히나 외부에서(사용자로부터) 데이터를 입력 받아서 DB에 입력하는 기능이 핵심이기 때문에 어떤 문자열이 입력될지 알 수가 없다는 것이 신경쓰이는 부분입니다. 사용자가 실수로 혹은 악의적인 목적을 가진 사람이 의도적으로 DB해킹을 목적으로 비정상적인 데이터를 입력하는 경우가 많기 때문에 해킹코드를 100% 막지는 못하더라도 최대한 막을 수 있도록 준비해두는 것이 필요합니다. 보안과 관련해서 흔히 얘기되는 중요한 원칙이 블랙리스트 방식이 아닌 화이트리스트 방식으로 해야 한다는 것입니다.예를 들어 접근하면 안 되는 IP를 막는 것이 아니라 안전한 IP만 허용하고 나머지는 모두 막는 방식 또는 문제가 될 만한 문자열을.. 2019. 5. 8.