study/PHP
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조건을 탄다
엑셀파일 생성하기(한글 깨질때), 엑셀 다운로드
엑셀파일 만들때 추가해줘야하는 헤더부분 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..
[PHP] mysql 에서 rownum쓰기, 게시판 글 번호 역순으로 출력
게시판 글 출력할때 테이블의 index를 그대로 가져오면 글이 삭제되거나 했을때 글 번호가 꼬일 수 있다 이때 2가지 방법이 있다 1. /* 시작 글번호 ((현재 페이지 - 1) * 한페이지 글 수 1페이지의 시작번호는 0 */ $start = ($page - 1) * $onePage ; // 글번호 index의 시작행은 0, 출력은 1부터 될 수 있도록 +1 $bno2 = $start + 1; 각 페이지에 글 시작번호를 계산해서 뿌려주는 법 2. rownum SELECT * FROM ( SELECT @rnum:=@rnum+1 AS rnum, C.* FROM 테이블 C , (SELECT @rnum:=0) B WHERE 조건 ORDER BY no ASC) A ORDER BY A.rnum DESC", ); ..
[PHP] 값이 배열안에 존재하는지 확인(in_array), 반복문에서 continue(값 제외하기)
1. in_array() 값이 배열안에 존재하는지 확인할때 사용하는 함수 in_array() 아래와 같은 배열이 있다고 했을때 $arr = array('1','2','3','4'); a(in_array($arr, array('3','4'){ } 찾을대상 배열과 $arr 찾고자 하는 값 array('3','4') 를 넣어주면 true / false 로 반환받게된다 2.continue 반복문에서 원하는 값을 제외하고 출력하고싶을때 사용하는 continue $arr = array('1','2','3','4'); foreach($arr as $con){ if(in_array($con, array("3", "4"))) continue; } $arr 이라는 배열이 있고 foreach 반복문을 활용하여 $arr의 값..
[PHP] 게시판 전체 정리
생소한 PHP를 활용해서 회원가입 + 게시판 을 만들어봤다 부족한 부분이 너~~~~무 많지만 일단은 PHP를 경험해보고 잊고있던 부분 상기 시켰다는 것에 의의를 둬야겠다 전체 소스코드는 깃에서 확인해주세요 ! https://github.com/heniee/php_stairBoard.git GitHub - heniee/php_stairBoard Contribute to heniee/php_stairBoard development by creating an account on GitHub. github.com 1. 메인, 회원가입 https://henie-e.tistory.com/58 2. 회원가입(아이디 중복체크, 비밀번호 확인) https://henie-e.tistory.com/59 3. 로그인, 로그아..
[PHP] 계층형 게시판 리스트, 답글 들여쓰기
계층형 게시판 로직과 답글쓰기를 완료했고 리스트를 출력해볼건데 리스트는 기존 리스트+페이징 에서 글 가져오는 쿼리문만 수정해주면 될 것 같다 리스트 $query_page = "select * from board order by ref desc, step asc limit $start, $onePage"; ref desc : 최신글이 먼저 나오게 하기 위해 step asc : 답글 중 최신글이 위로 올라오게 들여쓰기