CI 서브 폴더 사용CI 서브 폴더 사용

Posted at 2021. 2. 17. 15:41 | Posted in PHP/CodeIgniter
반응형

cikorea.net/bbs/view/qna?idx=12166

 

CI 서브디렉토리에 배포 질문이요.~~

도와 주세요..  ㅠㅠ   호스팅받아 운영중인 시스템이있는데요 그 안에 서브로 디렉토리를 만들어 CI를 설치를 했더니 계속 404만 뜨네요.  예 : 운영 : www.test.com CI를 설치하여 별도로 운영하고

cikorea.net

 

.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] 서버 접속 가능여부 확인[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] PHPExcel 날짜 표시 형식 처리하기[PHP] PHPExcel 날짜 표시 형식 처리하기

Posted at 2020. 4. 26. 18:32 | Posted in PHP/PHP Library
반응형






API : http://www.osakac.ac.jp/labs/koeda/tmp/phpexcel/Documentation/API/PHPExcel_Style/PHPExcel_Style_NumberFormat.html





■ 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 페이지에 들어가 보면 확인 할 수 있다.


http://www.osakac.ac.jp/labs/koeda/tmp/phpexcel/Documentation/API/PHPExcel_Style/PHPExcel_Style_NumberFormat.html



날짜 형식이외에 다른 표시 형식, 셀 서식의 지정이 문제가 되는경우 참고하여 진행하면 될 것이다.












반응형
//

[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>





# 출력결과








반응형
//