study
zip 알집파일 다운로드, 에러
php에서 zip압축파일을 다운받으려면 zip아카이브를 사용하면 되는데 예시 코드는 정말 간단하다 ! 구현은 금방 했는데 에러 해결하는데(삽질) 며칠이나 걸렸다 휴 .. 먼저 전체코드 zip아카이브 생성 후 생성여부 확인, 압축해야하는 각 파일을 아카이브에 addFile()을 통해 추가해준다 $zip->close() 까지 ! 하고 readFile을 통해 파일읽고 unlink로 서버에 만들어진 zip 삭제 까지 간단한 코드지만 중간에 좀 추가된 코드, 에러를 정리해보자! - 1번 사용자에게는 1타입의 파일 5개와 2타입의 파일 5개까지 저장된다 (각 1개일수도, 5개일수도 있음) - 각 타입의 버튼이 있고 버튼 클릭시 해당 파일 ?/5 가 알집파일로 다운로드! $sql ="SELECT * FROM tabl..
[PHP] 달력 만들기, 검색
기간 검색 ~ $(document).ready(function() { initEvents(); loadDatePicker(); }); function loadDatePicker(){ $("#event_approve_sdate").datepicker({ dateFormat: 'yy-mm-dd' //Input Display Format 변경 ,showOtherMonths: true //빈 공간에 현재월의 앞뒤월의 날짜를 표시 ,showMonthAfterYear:true //년도 먼저 나오고, 뒤에 월 표시 ,changeYear: true //콤보박스에서 년 선택 가능 ,changeMonth: true //콤보박스에서 월 선택 가능 ,yearSuffix: "년" //달력의 년도 부분 뒤에 붙는 텍스트 ,mon..
[PHP] 파일 업로드 (디렉토리, 파일명 변경), 다운로드
PHP를 이용한 파일 업로드 기능 구현! 화면 이름 이력서 및 경력기술서 포트폴리오 제출하기 의 method는 post , enctype="multipart/form-data" 을 추가해준다 로 버튼 클릭시 form 내용을 가지고 action 주소로 이동한다 함수호출 // 첫 번째 파일 업로드(필수) $file1 = $_FILES['upfile1']; if ($file1['error'] === UPLOAD_ERR_NO_FILE) { echo "파일을 선택해주세요."; } else { $idata['upfile1'] = uploadFile($file1,$destination, $idata, '이력서'); } // 두 번째 파일 업로드 $file2 = $_FILES['upfile2']; if ($file2[..
특정 아이피로 접근 구분하기
운영서버에서의 테스트가 필요할때 특정아이피(개발서버)에서 접근시에는 테스트 코드를 사용하고 ㅇㅣ외(운영) 에서는 기존 코드를 사용해 테스트 할 수 있다 if (strpos($_SERVER['REMOTE_ADDR'], '114.204.') > -1 ) { $link = "/test.php";(기존코드 유지) }else{ $link = "/test2.php"; ip가 114.204로 시작하는 경우에는 false조건을 타고 그 외에는 true조건을 탄다
Virtual Host(가상호스트) 추가하기
가상 호스트란? 기본적으로 웹서버에 주 도메인이 있지만 추가적으로 한 서버에 여러 도메인을 등록해서 사용한다는 의미 가상 호스트 서버를 이용해서 제한된 공간 안에서 여러개의 홈페이지를 제공해주는 서비스가 호스팅 서비스다. Apach에서는 두 가지 방식을 제공한다 1. Name-based Virtual Host 같은 ip주소를 가지고 여러개의 호스팅명을 가짐 192.168.0.1 A.test.kr 192.168.0.1 B.test.kr 2. IP-based Virtual Host IP Address 기반의 가상 호스트라고 하며, 각 웹 사이트마다 다른 IP Address 또는 Port를 가지는 방식 - IP Address 를 다르게 하는 법 각각의 웹사이트를 하나의 물리적인 서버에서 별도 관리할 수 있다 ..
form 전송시 <input>의 disabled
없음 input 태그의 속성인 disabled는 input을 입력이 불가능하게 만든다radio버튼의 없음 선택시 memo input의 val값음 '없음'으로 바꾸면서 수정이 불가능하게 disablee를 줬는데controller 쪽으로 값이 안넘어 가서 한참 삽질을했다 disabled 속성은 수정이 불가능 하면서 submit을 날리지도 않는다readonly 속성은 수정이 불가능 함은 같지만 submit을 날릴 수 있다 disabled속성을 사용하지않거나 폼 전송하기 전에 disabled를 false로 바꿔주기 !!
[JS/jQuery]데이터 Ajax 전송
Ajax 방식(비동기)으로 데이터 전송하기 비동기 방식이랑 페이지 전환 없이 데이터를 주고받는 것을 말한다 페이지 전체가 아닌 일부분만을 업데이트 하여 데이터를 가져오는 동안 다른 작업을 진행할 수 있다 동의 제출 //버튼 클릭시 submit됨 버튼 클릭시 익명함수가 실행되며 체크박스의 체크 여부를 확인한 뒤 ajax가 실행된다 url : 데이터 전송할 페이지 data : 전송할 데이터 dataType : 전송받을 데이터 타입 type : 전송방식 ajax의 실행 결과에 따라 success문과 error문 내부 코드 실행. $sql ="쿼리문 작성" $result = $dbCon->getRow($sql); if(!empty($result)){ $return_arr = array( 'status' => f..
[js] 날짜(YYYY-MM-DD) / 이메일 정규식
날짜 var pattern = /(^\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/ if(pattern.test($('#DATE').val())===false){ alert("날짜 입력형식이 잘못되었습니다.") return false; } pattern에 (YYYY-MM-DD) 형식의 정규식 입력하고 patter.test를 통해 테스트 후 false면 alert띄워주기 이메일 var pattern_email = /(^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/;
엑셀파일 생성하기(한글 깨질때), 엑셀 다운로드
엑셀파일 만들때 추가해줘야하는 헤더부분 header('Content-Type: doesn/matter'); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Disposition: attachment; filename="test' .date("YmdHis", time()) . '.csv"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); 한글이 깨질때는 속성을 csv로 바꿔보고 echo "\xEF\xBB\xBF"; 이 echo문을 추가해보기! 이후에는select문으로 가져온 값을 저장해준다 $csvDa..
[프로그래머스] 배열의 평균값
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 풀이 class Solution { public double solution(int[] numbers) { double answer = 0; int sum = 0; for(int i=0; i