반응형

php 13

php 8.1 phpexcel 대체

기존 phpexcel 을 사용중이였는데 버전업을 진행하며 이제는 더이상 phpexcel를 사용할 수 없게되었다.파일을 읽는건 문제 없지만 엑셀을 출력하기위해 엑셀을 쓰는 과정에서 오류가 있었다.다음은 오류중 하나이다더보기Message: Return type of PHPExcel_WorksheetIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice그냥 간단하게 타입명시 오류다.일일이 고치기도 힘들기에 이제는 더이상 phpexcel을 가지고 갈 수 없는 환..

curl 대체 코드

제목 그대로 php에서 curl 을 사용하고 싶은데 사용하지 못하는 경우 사용한 코드이다.해당 문제는 APM 를 배포하는 부분에서 발생했다.APM 을 배포하여 아파치와 PHP가 새로운 환경에 설치되는데 해당 PC에서 오류가 났었다.분명 내 PC에서 테스트시 문제가 없었지만 새로운 환경으로 배포하면 오류가 생기는 상황이라 당황스러웠다.코드도 완벽히 같은 상황에서 확인해보니 curl 사용하여 외부 api 를 호출하는 부분에서 오류가 생겼다.내가 테스트했던 pc인 경우 curl 을 설치했던 이력이 있어서 문제가 없었지만 새롭게 설치되는 환경에서는 해당 설치가 이뤄지지 않았기에 오류가 생겼던 것이다.매 환경마다 curl을 설치할 수는 없기에 curl을 사용하지 않기로 했다. 다음은 대체 코드이다GET 호출// ..

php 2024.10.07

php 오라클 date 타입 형식 변경

php에서 오라클 데이터중 date 형식의 데이터를 가져오게되면10-Oct-03 이런식으로 가져오는 경우가 있다.이런경우 형식을 YYYY-MM-DD HH24:MI:SS 형식으로 바꿔주는 방법이다. class Test_model extends CI_Model{ public function __construct() { parent::__construct(); $this->set_nls_date_format(); } /** * 해당 세션에서만 오라클 date 타입 형식을 바꿔주는 쿼리 */ public function set_nls_date_format($format = 'YYYY-MM-DD HH24:MI:SS'){ $query = "ALTER SESSION SET nls_date_format = '..

php/java view생성 후 ajax리턴

웹에서 새로고침 없이 화면을 그릴때 ajax를 써서 화면을 생성한다.html을 모두 그려야되는 경우 활용할만한 알고리즘으로php에서 html을 생성 한 후 return 해주는면 된다.​php코드function get_page(){ $new_view = $this->create_view(); //아래 함수에서 html을 리턴 받는다 $this->load->view("/test/page", array( "json_html" => $new_view ));}//view를 생성하여 리턴해준다. load->view 파라미터에 true를 넣으면 html을 출력하지않고 변수로 return 해줄수있다.function create_view(){ $data1 = "testestt"; $row = "db_data..

php 암호화

양방향 암호화기존 양방향 암호화 알고리즘으로 openssl_encrypt를 사용했었다. //암호화function encrypt($str, $key='') { if (!$key) return ""; return base64_encode(openssl_encrypt($str, "AES-256-CBC", $key, true, str_repeat(chr(0), 16)));}//복호화function decrypt($str, $key='') { if (!$key) return ""; return openssl_decrypt(base64_decode($str), "AES-256-CBC", $key, true, str_repeat(chr(0), 16));} 그런데 패스워..

php empty

null 값 체크를 위해 empty 함수를 활용하려는데 좀 예상치못한 결과가 있었다.$tmp = $_POST['tmp'];if(empty($tmp)){ print_r("비어있음);}대강 저런식이였는데 tmp 에 문자열 0 이 들어가면 빈값으로 인지한다는 것이다.문자열 0 까지 empty 처리 되는지는 몰랐다;;;0이라는 값이 들어올 가능성이 있는 경우empty 대신 isset 을 같이 써주고 0 처리를 따로 해주자$tmp = $_POST['tmp'];if (isset($tmp) && $tmp !== "0") { print_r("설정안되어있음");}

php 2024.04.26
반응형