프로그램/php
-
PHP7 NAN INF 출력 오류가 나는 이유 IEEE 754 변경프로그램/php 2017. 3. 1. 07:30
PHP7 NAN INF 출력 오류가 나는 이유 최근에 회사에서 PHP 버전을 바꿔 작업을 하기 시작했다PHP 버전이 바뀌면서 생기는 문제점 들은 처음 작업을 시작 하면서 부터 발생 하였는데우린 Codeigniter 를 사용해서 Codeigniter 의 버전도 같이 올려서 더 많은 오류가 발생 했다 너무 많은 오류가 발생하여 다 정리하진 못하였지만최근에 눈에 띄고 있는 오류가 있어 포스팅을 한다 바로 NAN , INF 라는 문제가 발생하는건데이건 자바스크립트에서나 자주 봤던건데 PHP에서도 보이니까 아주 신선했다 이 둘의 뜻 NAN (Not a Number) 부동 소수점 계산에 정의 또는 표현 할 수 없는 값 쉽게 말해 숫자가 아닐 경우에 나타나는 것을 확인 할 수 있다INF (The infinite) 무..
-
PHP 파일 다운로드 함수프로그램/php 2014. 5. 12. 14:41
PHP 파일 다운로드 함수 입니다 PHP 파일다운로드 함수 입니다. A link 로 파일을 직접 링크 걸 수도 있겠지만 보안상 좋지 않죠? $downFile = $_REQUEST["file"]; $local_file = 'event_files/'.$downFile; $download_file = $downFile; $download_rate = 20.5; if(file_exists($local_file) && is_file($local_file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filena..
-
PHP>익스플로러 호환성 강제로 낮추기 <HTTP_USER_AGENT,EmulateIE>프로그램/php 2014. 1. 2. 15:45
PHP>익스플로러 호환성 강제로 낮추는 방법 익스플로러 10이 나와서 많은 개발자 분들이 당황하셨을 꺼라 생각됩니다. 웹표준에 맞춰 코딩을 한다면야 상관없지만 이미 만들어져 있는 소스들을 다 일일이 고치긴 너무 힘들죠? 그럴땐 웹 버젼을 강제로 낮춰 주는 겁니다. 방법은 이렇습니다. 일단 서버스크립트로 현재 브라우져의 버젼을 가져와 비교하여 강제로 메타태그를 박는 거죠. 밑에 예제를 하나 보여드리겠습니다. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 10.0')) { echo ''; // 또는 header('X-UA-Compatible: IE=EmulateIE7'); }
-
[php]eval 함수 이용하여 ajax 간편하게 사용하기프로그램/php 2013. 11. 6. 16:55
php eval 함수를 이용하여 ajax 페이지 함수화 시키기 jQuery Ajax를 이용하여 php에서 값을 얻어오거나, 넣을때 보통 IF ELSE 구분을 사용 합니다. SWITCH 문도 사용하기도 하지요 한두개 조건문으로 했을 경우에는 상관 없지만 조건이 많아 질 수록 소스가 더러워집니다. 이를 개선하기위해 짜보았습니다. PHP에는 아주 좋은 eval 함수가 있습니다. eval 이란? eval 함수란 일반 문자열을 수식으로 리턴 해주는 역할을 합니다. 간단하게 말해 function a(){ echo 1; } 이라는 함수가 있습니다. 이 함수를 실행 할땐 a(); 라고 입력을 하면 실행이 되겠지요? 하지만 반복되는 작업을 할때 일일이 함수를 실행 시키면 뭔가 소스가 더러워집니다. 이럴때 eval("임의..
-
[php]POST,GET넘어 온 값 간편하게 처리하기.프로그램/php 2013. 10. 18. 10:12
파라메터로 넘어 온 post,get값 편하고 깔끔하게 처리하기 이번 프로젝트를 PHP로 나가면서 기존 소스를 가져다 사용 하기보단 새로운 방법으로 좀 편하고 간결하게 하는 방법이 없을까 하고 찾던중 좋은 방법이 있어서 이렇게 남깁니다. ASP처럼 REQUEST객체를 통으로 받아와서 돌리는 방법이 PHP에는 없는거 같네요 뭐 있을 수도 있겠지만.. 저의 키워드 검색실력이 낮아서 이런 방법을 사용 해봤습니다. 오브젝트 배열에 REQUEST 받을 값을 넣고, 그 배열을 일일이 POST 하나하나에 비교하여 넣는 방식 입니다. $conLastArray = array(); $conArray = array ( "mode" => "mode", "gubun" => "gubun", "name" => "name", "ema..
-
PHP UTF-8 문자열 길이 비교하여 자르는 함수 <strcut_utf8>프로그램/php 2013. 10. 1. 22:57
PHP UTF-8 문자열 길이 비교하여 자르는 함수 입니다. 완성형 한글 문자열 80바이트만 자를때 substr 함수를 사용 하면 완성형 한글의 경우 한글은 2byte,영어는1byte로 구성되어 substr로 자르면 끝에 위치하는 문자는 운이 없을 경우 한글이 깨지는 경우를 겪곤 합니다. 완성형 한글로 인코딩된 문자열을 십진수로 변환하여 128 보다 작을경우 영문 128 보다 클 경우 한글로 해서 구별 할 수 있게 됩니다. 아래 함수를 사용 하면 됩니다. function strcut_euckr($msg, $limit) { $msg = substr($msg, 0, $limit); for ($i = $limit - 1; $i > 1; $i--) { if (ord(substr($msg,$i,1)) < 128)..
-
[php]128비트 암호화 클래스 <StringEncrypter>프로그램/php 2013. 9. 26. 01:54
php용 128비트 암호화 클래스 StringEncrypter php의 기본 암호화 기능도 있지만 더 보안성이 좋은 128비트 암호화 클래스를 소개 하고자 합니다. MD5는 Hash의 충돌내성이 약하다고 알려져 있다고 합니다. 일본에서는 표준알고리즘에서 제외되었다고 하네요. 클래스와 선언 방법 그리고 간단한 사용 방법을 소스코드로 정리 해놓겠습니다. 사용방법 입니다. 간단하게 클래스를 선언해서 함수를 호출 하여 사용하시면 됩니다. include $_SERVER[DOCUMENT_ROOT]."/StringEncrypter.php"; define ("KEY", "TMT8250") ; define ("IV", "TMT8250") ; $encrypter = new StringEncrypter (KEY, IV) ;..