본문 바로가기
반응형

개발자 이야기12

parse_str() 📌 1. 함수 원형 (Function Prototype)void parse_str(string $string, array &$result)$string: 쿼리 형식의 문자열 (예: "a=1&b=2").$result: 결과를 저장할 배열. 이 인수를 생략하면, 변수들이 전역 스코프에 직접 할당됩니다 (PHP 7.2.0 이후에는 사용 비추천). 📌 2. 함수 설명 (Function Description)parse_str() 함수는 URL 쿼리 문자열을 파싱하여, 변수 또는 연관 배열로 변환합니다.$result를 명시하면 그 배열에 키-값 쌍을 넣습니다.$result를 생략하면 문자열에 포함된 변수명이 현재 스코프(전역 또는 로컬)에 직접 변수로 생성됩니다 (하지만 보안 및 가독성 문제로 비추천). 📌.. 2025. 5. 16.
parse_url() 📌 1. 함수 원형 (Function Prototype)array|string|false parse_url(string $url, int $component = -1) 📌 2. 함수 설명 (Function Description)parse_url() 함수는 주어진 URL 문자열을 구성 요소로 분해하여 배열로 반환합니다. URL의 구성 요소는 scheme, host, port, user, pass, path, query, fragment 등입니다.선택적으로 $component 매개변수를 지정하면, 해당 구성 요소만 반환합니다.만약 URL이 잘못되었을 경우 false를 반환합니다. 📌 3. 실행 가능한 PHP 버전지원 시작: PHP 4.0.0PHP 5.1.2부터 IPv6 주소 지원PHP 8.0.0부터 반.. 2025. 5. 14.
http_build_query() http_build_query 함수는 배열이나 객체를 URL인코딩하여 쿼리문자열로 만드는 함수이다.인코딩이 되는걸 잊고 해당 값을 또 urlencode해서 두번 인코딩이 되는 불상사가 일어나기도 했다.http_build_query( array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string$data는 쿼리문자열로 만들 배열이나 객체를 입력하면 된다.$numeric_prefix는 인덱스(변수명)이 숫자로 이루어질 경우 변수명 앞에 붙이는 문자열이다. $arg_separator는 쿼리문자열을 만들때 각각의 값 사이에 구.. 2024. 6. 21.
URL Encode 데이터를 URL을 통해 보내야 할때 한글이나 특수문자등은 인코딩을 해서 보내주어여 문제없이 전달을 할 수 있다.이때 PHP의 urlencode함수를 통해 인코딩을 할 수 있다.urlencode(string $string): string파라메터로 들어가는 $string은 인코딩할 문자를 넣으면 된다.하지만 이렇게 할 경우 공백은 +로 변환이 된다. 상대방에서 디코딩을 할때 +는 공백으로 디코디잉 안되고 그대로 +로 남는 경우가 있다.이경우 공백을 +가 아닌 %20으로 인코딩이 되어야 하는데, 이때 사용하는 함수가 rawurlencode이다.rawurlencode(string $string): string이렇게 하면 공백이 +가 아닌 %20으로 인코딩이 된다.물론 디코딩하는 함수는 각각 urldecode와 .. 2024. 6. 21.
생성 쿼리 출력하기 CI3에서 마지막 실행 쿼리를 출력하기 위해서는 아래와 같이 사용한다.$this->db->last_query(); 하지만 빌더를 사용해 쿼리를 생성하여 실행하기 전 쿼리를 확인하기 위해서는 각 실행에 따라 아래처럼 사용한다.//select$this->db->get_compiled_select();//insert$this->db->get_compiled_insert();//update$this->db->get_compiled_update();/delete$this->db->get_compiled_delete(); insert쿼리를 사용한다면, 아래처럼 해주면 된다.$data = array( 'title' => 'My title', 'name' => 'My Name', .. 2024. 6. 11.
ajax에서 에러 출력하기 $.ajax({ type: "POST", url: "", data: "", success: function(result) {}, error:function(request, status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); }});ajax에서 error부붙에 위와 같이 해주면 오류 내용을 확인할 수 있다. 2017. 10. 29.
외부 브라우저로 웹페이지 띄우기 웹페이지의 경우 앱상의 Webview를 통하여 보여지기도 하지만 때로는 외부 브라우져를 통해 띄워야 할 필요가 있다.이때 다음과 같이 해주면 외부 브라우져를 호출하여 페이지를 띄울 수 있다. Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(intent); 당연히 위에대로 실행하면.....안된다.퍼미션을 주어져야 한다. 만약 크롬을 강제로 띄우려 한다면, startActivity전에 다음과 같이 넣어주면 된다. intent.setPackage("com.android.chrome"); 2017. 10. 27.
'워나크라이' 윈도우 버전별 패치 현재 전 세계적으로 랜섬웨어 '워나크라이'가 이슈로 떠로르고 있다.랜섬웨어는 컴퓨터의 중요 파일(문서, 이미지등)들을 암호화 하여 사용하지 못하게 하고 난 후, 비용을 지불해야 사용할 수 있도록 하는 일종의 악성코드이다.여러 백신 업체에서 복호화를 하는 프로그램을 무료로 배포하고 있지만, 신종이나 변종의 경우 복구가 바로 불가능 하기 때문에 거의 해당 파일을 포기하거나 비용을 지불하고 복구해야한다. 솔직히 비용을 지불한다고 복구가 될지는 의문인지라 그냥 포기가 정석인듯 하다.그중 '워나크라이'는 전 세계적으로 최근에 유행하는 랜섬웨어로 윈도우의 SMB취약점을 이용해 공격하는 것이라고 한다. 세계적으로 피해사례가 속출되고 있으며, Xp등에 대한 업데이트를 중단했던 MS(본인들것에 대한 부분만 있으므로..... 2017. 5. 15.
ionic 개발은 위한 준비 완료 하이브리앱 개발을 하게 되었는데, 무엇으로 개발할지 이것저것 알아보던 중 ionic과 자마린이 죄총적으로 남아있게 되었다. 고심고심 끝에, 그리고 여러가지 자료수집 후 ionic으로 개발을 결정하고 개발을 위한 준비를 진행하게되었다. 그런데 iPhone을 개발하려고 하면 윈도우에서 안된다고 하기에.... 결국은 ViertualBox에 maxOS를 올리고 ionic을 설치하기로 했다. 인터넷에 올라와 있는 여러가지 설치방법을 참고해 설치를 진행했지만, 몇가지 문제점이 있었다. 1. 우선 현재의 버전과 많이 다르다는 것이다. 대부분 설치에 관한 내용은 초기 버전이 많았기에 화면 구성이 많이 달라 보이기도 하여 처음엔 제대로 설치된 것인지 의아해 했다. 2. 내 잘못인지, 아니면 올라온 설치 방법들이 간략하게.. 2017. 3. 27.
반응형