본문 바로가기

php

(10)
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용 서버내의 파일 다운로드//파일다운로드function file_down(){ if (file_exists($_GET['f_fileurl']) == false) { echo ""; echo ""; exit; } //$name = iconv("utf-8","euc-kr", $_GET['f_filename']); $size = @filesize($_GET['f_fileurl']); $name = $_GET['f_filename']; header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream"); header("C..
파일업로드 //확장자 추출function get_ext($value) { $array = explode('.', $value); return strtolower(array_pop($array));} function file_upload($datapath,$subpath,$f_admin_id,$FILES){ $tmp_name = $FILES['name']; $tmp_file = $FILES['tmp_name']; $arr_invalid_ext = array('exe', 'sh', 'bat', 'jar', 'py', 'java','php'); $arr_ok_filepath = array(); $arr_ok_filename = array(); if(empty($tmp_fi..
php exec 실행안될때 확인 $command = "sqlldr aaa/aaaa@123123123:1521/orcl \ control='".$this->arr_sqlldr_filename['ctl']."' \ data='".$this->data_file.".dat' \ bad='".$this->arr_sqlldr_filename['bad']."' \ discard='".$this->arr_sqlldr_filename['dsc']."' \ log='".$this->arr_sqlldr_filename['log']."'";e..
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("설정안되어있음");}
코드이그나이터3, 세션생성오류 코드이그나이터3(이하 CI3) 과 PHP 7.1 버젼을 사용하면서 세션에서 문제가 생겼다. 분명 컨트롤러에서는 생성이 되는데 view 로 리다이렉션만 해버리면 세팅한 세션이 사라지고 ci_last_regenerate] => 1627888197 이런 것만 남게되는 상황이다. ​ session_start() 를 해봐도 이미 세션은 시작되어있다고 나와있었고 config 파일에서 세션저장을 db로도 file 로도 해보고...참 많은 삽질을 한 결과 CI3 버젼과 PHP 7.1 버젼에서만 세션 오류가 생긴다는걸 확인할수 있었다. 해결은 CI3에 system/libraries/Session.php 파일에 들어가서 대략 130라인에 // Sanitize the cookie, because apparently PHP ..

반응형