CI 서브 폴더 사용CI 서브 폴더 사용
Posted at 2021. 2. 17. 15:41 | Posted in PHP/CodeIgnitercikorea.net/bbs/view/qna?idx=12166
.htaccess 기본 설정
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> |
.htaccess 기본 설정 변경
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond $1 !^(/프로젝트_디렉토리명/index\.php|images|captcha|data|include|uploads|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /프로젝트_디렉토리명/index.php/$1 [L] </IfModule> |
'PHP > CodeIgniter' 카테고리의 다른 글
[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정 (0) | 2020.02.12 |
---|---|
[CodeIgniter] 폼 검증하기 (0) | 2019.12.17 |
[CodeIgniter] 컨트롤러(Controllers) 사용방법 (0) | 2019.07.31 |
[CodeIgniter] DataBase 접속 설정하기 (0) | 2019.07.25 |
[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기 (0) | 2019.07.23 |
[PHP] 서버 접속 가능여부 확인[PHP] 서버 접속 가능여부 확인
Posted at 2020. 5. 29. 15:33 | Posted in PHP참고 : https://www.php.net/fsockopen
■ 서버간 데이터 통신 가능여부 확인하기
# 소스코드
<?php $accessCheck = fsockopen( "120.0.0.1", 포트번호, $errno, $errstr, 10 ); if( $accessCheck ) { echo "서버 ON - 접속 가능"; } else { echo "서버 OFF - 접속 불가"; } fclose( $accessCheck ); ?> |
# 접속정보
'PHP' 카테고리의 다른 글
[PHP] JSON 데이터 화면에 출력하기 (0) | 2020.01.16 |
---|---|
[PHP] 배열인지 아닌지를 확인하는 is_array() 함수 (0) | 2019.02.21 |
[PHP] DB 입력 or 출력시 따옴표(') 처리하기 (0) | 2018.10.02 |
[PHP] 변수 or 배열의 정보를 표기하는 함수 (0) | 2018.09.17 |
[PHP] mcrypt 방식 OpenSSL 방식으로 대체하기 (0) | 2018.08.30 |
[PHP] PHPExcel 날짜 표시 형식 처리하기[PHP] PHPExcel 날짜 표시 형식 처리하기
Posted at 2020. 4. 26. 18:32 | Posted in PHP/PHP Library■ PHPExcel에서 날짜 표시 형식의 데이터 읽어오기
PHPExcle의 사용중 특정 열의 값이 날짜 형태로 지정된 경우
해당 데이터를 읽어 들이고 그 값을 출력해 보면
# 출력결과
위와 같이이 날짜 형식을 지정한 열의 값이
이상한 숫자형태의 값으로 출력되는 것을 확인 할 수 있다.
날짜 형식으로 지정된 값을 불러오기 위해서는,
가져온 데이터를 형식에 알맞게 포맷을 해주어야 하기 때문인데.
해당 방법은 아래와 같다.
# 소스코드
<?php include "./PHPExcel.php"; $objPHPExcel = new PHPExcel(); // 엑셀 데이터를 담을 배열을 선언한다. $xlsData = array(); // 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다. $filename = iconv("UTF-8", "EUC-KR", "date_format.xls"); try { // 업로드한 PHP 파일을 읽어온다. $objPHPExcel = PHPExcel_IOFactory::load($filename); $sheetsCount = $objPHPExcel -> getSheetCount(); // 시트Sheet별로 읽기 for($sheet = 0; $sheet < $sheetsCount; $sheet++) { $objPHPExcel -> setActiveSheetIndex($sheet); $activesheet = $objPHPExcel -> getActiveSheet(); $highestRow = $activesheet -> getHighestRow(); // 마지막 행 $highestColumn = $activesheet -> getHighestColumn(); // 마지막 컬럼 // 한줄읽기 for($row = 2; $row <= $highestRow; $row++) { // $rowData가 한줄의 데이터를 셀별로 배열처리 된다. $rowData = $activesheet -> rangeToArray("A" . $row . ":" . $highestColumn . $row, NULL, TRUE, FALSE); // $rowData에 들어가는 값은 계속 초기화 되기때문에 값을 담을 새로운 배열을 선안하고 담는다. $xlsData[$row] = $rowData[0][1]; } } } catch(exception $exception) { echo $exception; } $dateArray = array(); // 형식 : d/m/y h:mm $dateArray[0] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[2], PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME); // 형식 : dd/mm/yy $dateArray[1] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[3], PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY); // 형식 : d-m $dateArray[2] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[4], PHPExcel_Style_NumberFormat::FORMAT_DATE_DMMINUS); // 형식 : d-m-y $dateArray[3] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[5], PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYMINUS); // 형식 : d/m/y $dateArray[4] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[6], PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYSLASH); // 형식 : m-y $dateArray[5] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[7], PHPExcel_Style_NumberFormat::FORMAT_DATE_MYMINUS); // 형식 : h:mm AM/PM $dateArray[6] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[8], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1); // 형식 : h:mm:ss AM/PM $dateArray[7] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[9], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME2); // 형식 : h:mm $dateArray[8] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[10], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3); // 형식 : h:mm:ss $dateArray[9] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[11], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); // 형식 : mm:ss $dateArray[10] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[12], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME5); // 형식 : h:mm:ss $dateArray[11] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[13], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME6); // 형식 : i:s.S $dateArray[12] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[14], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME7); // 형식 : h:mm:ss;@ $dateArray[13] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[15], PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME8); // 형식 : mm-dd-yy $dateArray[14] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[16], PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14); // 형식 : d-mmm-yy $dateArray[15] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[17], PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15); // 형식 : d-mmm $dateArray[16] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[18], PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX16); // 형식 : mmm-yy $dateArray[17] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[19], PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX17); // 형식 : m/d/yy h:mm $dateArray[18] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[20], PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22); // 형식 : yy-mm-dd $dateArray[19] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[21], PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD); // 형식 : yyyy-mm-dd $dateArray[20] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[22], PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); // 형식 : yy/mm/dd;@ $dateArray[21] = PHPExcel_Style_NumberFormat::toFormattedString($xlsData[23], PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); echo "<pre>"; print_r( $dateArray ); echo "</pre>"; ?> |
# 출력결과
■ PHPExcel에서 날짜형식을 지정하여 엑셀파일 생성
이제 반대로 엑셀파일을 생성할때 날짜 형식을 지정해 보자.
# 소스코드
<?php include "./PHPExcel.php"; $objPHPExcel = new PHPExcel(); $objPHPExcel -> setActiveSheetIndex(0) -> setCellValue("A1", date("Y-m-d", time())); $objPHPExcel -> getActiveSheet() -> getStyle("A1") -> getNumberFormat() -> setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2); $objPHPExcel -> setActiveSheetIndex(0); $filename = iconv("UTF-8", "EUC-KR", "format_time"); header("Content-Type:application/vnd.ms-excel"); header("Content-Disposition: attachment;filename=".$filename.".xls"); header("Cache-Control:max-age=0"); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5"); $objWriter -> save("php://output"); ?> |
위 코드를 실행하여 엑셀파일을 다운로드 받고 확인해 보면
아래와 같은 결과를 얻을 수 있다.
# 출력결과
위와 같이 다운받은 엑셀 파일의 데이터를 확인해 보면
날짜 형식이 지정된 것을 확인 할 수 있다.
이밖에도 다른 표시형식의 사용은 아래 PHPExcel API 페이지에 들어가 보면 확인 할 수 있다.
날짜 형식이외에 다른 표시 형식, 셀 서식의 지정이 문제가 되는경우 참고하여 진행하면 될 것이다.
'PHP > PHP Library' 카테고리의 다른 글
[PHP] PHPExcel 시트 추가하기 (0) | 2020.02.11 |
---|---|
[PHP] SimpleSql 라이브러리를 사용한 손쉬운 쿼리사용 (1) | 2018.04.16 |
[PHP] PHP 메일 발송 (5) | 2018.04.10 |
[PHP] PHPExcel 엑셀 파일 업로드 하고 내용 읽기 (0) | 2018.03.22 |
[PHP] PHPExcel 설치하고 엑셀파일 다운받기 (0) | 2018.03.21 |
[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정[CodeIgniter] _rmap을 이용한 화면 상단, 하단 레이어 고정
Posted at 2020. 2. 12. 17:31 | Posted in PHP/CodeIgniter■ 코드이그나이터에서 헤더 푸터 레이아웃 지정
코드이그나이터의 함수요청 리다이렉트를 통해
웹 페이지 상단(헤더), 하단(푸터)를 고정적으로 노출 시키려고 한다.
기본적으로 코드이그나이터를 세팅하면 보게되는
Welcome to CodeIgniter! 페이지에
헤더와 푸터를 나타내 보자
# 컨트롤럴 소스코드
/codeIgniter/application/controllers/Welcome.php |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { /** * @brief 기본 Wellcome to CodeIgniter! 페이지 지정 */ public function index() { $this->load->view("welcome_message"); } /** * @brief 사이트 헤더, 푸터가 자동으로 추가 */ public function _remap($method) { // brief 헤더 load $this->load->view("layer/headder_view"); if(method_exists($this, $method)) { $this->{"{$method}"}(); } // @brief 푸터 load $this->load->view("layer/footer_view"); } } |
# 헤더 레이아웃
/codeIgniter/application/views/layer/headder_view.php |
<header style="background-color:#333333;padding-top:30px;padding-left:20px;padding-bottom:20px;"> <a href="http://magic.wickedmiso.com/" style="color:#FFFFFF;text-decoration:none;"> <span style="font-size:20px;font-weight:bold;color:#C52D2F;">사악미소</span>의 현대마법의 공방 </a> </header> |
# 푸터 레이아웃
/codeIgniter/application/views/layer/footer_view.php |
<footer style="background-color:#333333;padding-top:15px;padding-left:40px;padding-bottom:15px;color:#FFFFFF;"> Created by saakmiso </footer> |
# 출력결과
'PHP > CodeIgniter' 카테고리의 다른 글
CI 서브 폴더 사용 (0) | 2021.02.17 |
---|---|
[CodeIgniter] 폼 검증하기 (0) | 2019.12.17 |
[CodeIgniter] 컨트롤러(Controllers) 사용방법 (0) | 2019.07.31 |
[CodeIgniter] DataBase 접속 설정하기 (0) | 2019.07.25 |
[CodeIgniter] 리눅스 환경에 코드이그나이터 세팅하기 (0) | 2019.07.23 |