﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>CodeIgniter 한국사용자포럼 - 강좌게시판</title><link>http://www.ww.cikorea.net/bbs/lists/lecture</link><language>ko</language><generator>TapBBS</generator><copyright>http://www.ww.cikorea.net/</copyright>                <item>
                    <title>Codeigniter4만으로 RESTful API 만들기</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=22855</link>
                    <description>안녕하세요. 불의회상입니다.&lt;br /&gt;
&lt;br /&gt;
2020년 11월 7일 진행된 KCD 2020 행사를 위해 작성한 강의 영상 및 자료입니다.&lt;br /&gt;
&lt;br /&gt;
CodeIgniter4를 이용하여 RESTful API를 만들고자 하는분들께 시작점이 되기를 기대합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
* 동영상 강의 :&amp;nbsp;https://youtu.be/8iy5SCwHmKw&lt;br /&gt;
&lt;br /&gt;
* 샘플 소스 코드 및 강의 자료 : https://github.com/hoksi/ci4rest-sample</description>
                    <pubDate>Mon, 09 Nov 2020 20:22:56 +0900</pubDate>
                    <dc:creator>한대승(불의회상)</dc:creator>
                </item>
                            <item>
                    <title>[동영상추가] xecon2016 강의파일과 시연소스입니다.</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=16063</link>
                    <description>xecon2016 track B 네번째 시간에 강의했던 &amp;quot;CodeIgniter와 PHP7&amp;quot; 강의안과 시연한 소스입니다.&lt;br /&gt;
&lt;br /&gt;
압축 푸시면 ci버전별 소스와 sql dump파일이 있습니다. 덤프파일 실행하시면 users라는 테이블이 생성되고 데이터가 1개 들어갑니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
xecon2016 소개 페이지에서 강의안 및 동영상으로 제공할 예정입니다.&lt;br /&gt;
&lt;br /&gt;
동영상이 늦게 올라오면 제가 화면 녹화한 파일을 가지고 있어서 그 파일을 먼저 올리겠습니다.&lt;br /&gt;
&lt;br /&gt;
https://xecon2016.xpressengine.com/session/codeigniter-and-php7&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
파일은 용량이 커서 링크로 대체합니다.&lt;br /&gt;
&lt;br /&gt;
xecon2016 강의교재 및 시연소스 :&amp;nbsp;https://drive.google.com/file/d/0BzUbrLw2O6aGN2dLUGRCTGlWRDQ/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
동영상 :&amp;nbsp;https://youtu.be/abqdD02p8mI&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
감사합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그리고 강의 마지막에 디버그 바의 &amp;nbsp;files 부분에서 색상이 다른 것에 대해 질문 하셨는데 소스를 살펴보니&lt;br /&gt;
&lt;br /&gt;
옅은 색상은 system 디렉토리의 파일을 의미하며 좀더 진한 색은 그외의 디렉토리에 있는 파일을 의미합니다. ^^</description>
                    <pubDate>Mon, 28 Nov 2016 10:05:24 +0830</pubDate>
                    <dc:creator>변종원(웅파)</dc:creator>
                </item>
                            <item>
                    <title>FCM(FirebaseCloudMessage)  간단 구현 (부제  chatGPT에게 물어보았다)</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=26813</link>
                    <description>안녕하세요&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
최근 프롬프트로 AI&amp;nbsp; 갈구는 취미(?)에 눈을 뜬&amp;nbsp;&amp;nbsp;kaido 입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
우선 컴포저로 가볍게 패키지를 설치 합니다.&lt;br /&gt;
&lt;br /&gt;
composer require kreait/firebase-php&lt;br /&gt;
&lt;br /&gt;
[출처&amp;nbsp;https://packagist.org/packages/kreait/firebase-php ]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그럼 여러분의 php 버전에 맞추어서 설치가 완료 될것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
컴포저가 무엇? 난 설치 안되었는데? 하시는 분들은&amp;nbsp;https://getcomposer.org/ 방문하여 설치 하거나&lt;br /&gt;
&lt;br /&gt;
리룩스 환경 상에서 curl 과 php가 설치 되어있다면 간단히 설치 가능합니다.&lt;br /&gt;
&lt;br /&gt;
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그리고 chatGPT 에게 여러번 문의 결과 에러 없는 소스를 획득 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
require &amp;#39;vendor/autoload.php&amp;#39;; // Load Composer&amp;#39;s autoloader&lt;br /&gt;
&lt;br /&gt;
use Kreait\Firebase\Factory;&lt;br /&gt;
use Kreait\Firebase\Messaging\CloudMessage;&lt;br /&gt;
use Kreait\Firebase\Messaging\MulticastSendReport;&lt;br /&gt;
&lt;br /&gt;
// Initialize Firebase&lt;br /&gt;
$factory = (new Factory)-&amp;gt;withServiceAccount(&amp;#39;/path/to/serviceAccountKey.json&amp;#39;);&lt;br /&gt;
&lt;br /&gt;
// Get an instance of the Messaging service&lt;br /&gt;
$messaging = $factory-&amp;gt;createMessaging();&lt;br /&gt;
&lt;br /&gt;
// Create an array of messages to send&lt;br /&gt;
$messages = [&lt;br /&gt;
    [&amp;#39;token&amp;#39; =&amp;gt; &amp;#39;device_token_1&amp;#39;, &amp;#39;title&amp;#39; =&amp;gt; &amp;#39;Title 1&amp;#39;, &amp;#39;body&amp;#39; =&amp;gt; &amp;#39;Body 1&amp;#39;, &amp;#39;link_url&amp;#39; =&amp;gt; &amp;#39;/page1&amp;#39;],&lt;br /&gt;
    [&amp;#39;token&amp;#39; =&amp;gt; &amp;#39;device_token_2&amp;#39;, &amp;#39;title&amp;#39; =&amp;gt; &amp;#39;Title 2&amp;#39;, &amp;#39;body&amp;#39; =&amp;gt; &amp;#39;Body 2&amp;#39;, &amp;#39;link_url&amp;#39; =&amp;gt; &amp;#39;/page2&amp;#39;],&lt;br /&gt;
    // Add more messages as needed&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
// Create an array of CloudMessage instances&lt;br /&gt;
$cloudMessages = [];&lt;br /&gt;
foreach ($messages as $messageData) {&lt;br /&gt;
    $cloudMessages[] = CloudMessage::withTarget(&amp;#39;token&amp;#39;, $messageData[&amp;#39;token&amp;#39;])&lt;br /&gt;
        -&amp;gt;withData([&lt;br /&gt;
            &amp;#39;title&amp;#39; =&amp;gt; $messageData[&amp;#39;title&amp;#39;],&lt;br /&gt;
            &amp;#39;body&amp;#39; =&amp;gt; $messageData[&amp;#39;body&amp;#39;],&lt;br /&gt;
            &amp;#39;link_url&amp;#39; =&amp;gt; $messageData[&amp;#39;link_url&amp;#39;] // Include link_url in the message data&lt;br /&gt;
        ]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Send the messages to all devices&lt;br /&gt;
$sendReport = $messaging-&amp;gt;sendAll($cloudMessages);&lt;br /&gt;
&lt;br /&gt;
// Check for errors&lt;br /&gt;
if ($sendReport-&amp;gt;hasFailures()) {&lt;br /&gt;
    foreach ($sendReport-&amp;gt;failures() as $index =&amp;gt; $failure) {&lt;br /&gt;
        $error = $failure-&amp;gt;error();&lt;br /&gt;
        echo &amp;quot;Failed to send message to device with index $index: $error\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} else {&lt;br /&gt;
    echo &amp;quot;Messages sent successfully to all devices\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
serviceAccountKey.json 파일은 구글 파이어베이스에 접속해서 프로젝트를 생성 하면&amp;nbsp; 계정정보가 담긴 json 파일을 하나 던져줍니다.&lt;br /&gt;
&lt;br /&gt;
해당 파일을 서버 상에 올려놓고 파일 path에 맞춰서 넣어주세요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
파라메터 설명&lt;br /&gt;
&lt;br /&gt;
title&amp;nbsp; &amp;nbsp; 알림의 제목 [상단]&lt;br /&gt;
&lt;br /&gt;
body&amp;nbsp; 알림의 본문 [접힌거 펼치면 나오는 부분]&lt;br /&gt;
&lt;br /&gt;
link_url 터치시 이동할 URL 주소&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이렇게 데이터를 맞춰서 실행 하면 끝 !&lt;br /&gt;
&lt;br /&gt;
FCM 구현을 간단히 하고 싶으신 분들은 참고해 보세요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
해당 패키지 메뉴얼&amp;nbsp; https://firebase-php.readthedocs.io/en/7.10.0/index.html&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Thu, 09 May 2024 17:08:42 +0900</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>Responsive-Grid-System Demo</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=25613</link>
                    <description>Codeigniter 4 Responsive Grid System demo&lt;br /&gt;
&lt;br /&gt;
https://github.com/darkninjaaa&lt;br /&gt;
&lt;br /&gt;
html + javascript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;grid&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;X-UA-Compatible&amp;quot; content=&amp;quot;IE=edge,chrome=1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
		input, button, span, p,	textarea, div {&lt;br /&gt;
			font-size: 11pt;&lt;br /&gt;
		}&lt;br /&gt;
		input, div { &lt;br /&gt;
			margin: 0px 0px 0px 0px; &lt;br /&gt;
			padding: 0px;&lt;br /&gt;
		}&lt;br /&gt;
		button { &lt;br /&gt;
			margin: 0px; &lt;br /&gt;
			padding: 1px;&lt;br /&gt;
			border: 1px solid #777;&lt;br /&gt;
			background: #ccc;&lt;br /&gt;
		}&lt;br /&gt;
		button:hover { &lt;br /&gt;
			background-color: #A9BCEF; &lt;br /&gt;
			cursor:pointer;&lt;br /&gt;
		}&lt;br /&gt;
		p { &lt;br /&gt;
			margin: 1px 1px 1px 1px; &lt;br /&gt;
			padding: 2px;&lt;br /&gt;
		}&lt;br /&gt;
		textarea {&lt;br /&gt;
			border: 1px solid #999999;&lt;br /&gt;
			margin: 0px 0px 0px 0px;&lt;br /&gt;
			padding: 2px;&lt;br /&gt;
			overflow: auto; &lt;br /&gt;
		}&lt;br /&gt;
		textarea {&lt;br /&gt;
			tab-size : 4;&lt;br /&gt;
			-o-tab-size : 4;&lt;br /&gt;
			-moz-tab-size : 4;&lt;br /&gt;
			-webkit-tab-size: 4; &lt;br /&gt;
		}&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;form action=&amp;quot;&amp;quot; id=&amp;quot;grids&amp;quot; name=&amp;quot;grids&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;source : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;http://www.responsivegridsystem.com&amp;quot;&amp;gt;responsivegridsystem&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;https://github.com/johnpolacek/extra-strength-responsive-grids&amp;quot;&amp;gt;extra-strength-responsive-grids&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;css grid name : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grids_name&amp;quot; name=&amp;quot;grids_name&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid columns : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;number&amp;quot; id=&amp;quot;grids_columns&amp;quot; name=&amp;quot;grids_columns&amp;quot; maxlength=&amp;quot;3&amp;quot; oninput=&amp;quot;checkMaxLength(this)&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;margin(%) top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_top&amp;quot; name=&amp;quot;margin_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_right&amp;quot; name=&amp;quot;margin_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_bottom&amp;quot; name=&amp;quot;margin_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_left&amp;quot; name=&amp;quot;margin_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;padding(px) top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_top&amp;quot; name=&amp;quot;padding_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_right&amp;quot; name=&amp;quot;padding_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_bottom&amp;quot; name=&amp;quot;padding_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_left&amp;quot; name=&amp;quot;padding_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;margin(px) innercol top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_top&amp;quot; name=&amp;quot;margin_innercol_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_right&amp;quot; name=&amp;quot;margin_innercol_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_bottom&amp;quot; name=&amp;quot;margin_innercol_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_left&amp;quot; name=&amp;quot;margin_innercol_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;padding(px) innercol top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_top&amp;quot; name=&amp;quot;padding_innercol_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_right&amp;quot; name=&amp;quot;padding_innercol_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_bottom&amp;quot; name=&amp;quot;padding_innercol_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_left&amp;quot; name=&amp;quot;padding_innercol_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid left width(%) : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grid_left_width&amp;quot; name=&amp;quot;grid_left_width&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid right width(%) : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grid_right_width&amp;quot; name=&amp;quot;grid_right_width&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;outer color : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;outer_color&amp;quot; name=&amp;quot;outer_color&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;inner color : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;inner_color&amp;quot; name=&amp;quot;inner_color&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;The CSS&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;textarea id=&amp;quot;grid_css&amp;quot; name=&amp;quot;grid_css&amp;quot; rows=&amp;quot;15&amp;quot; style=&amp;quot;width: 99.6%&amp;quot; spellcheck=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;The HTML&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;textarea id=&amp;quot;grid_pre&amp;quot; name=&amp;quot;grid_pre&amp;quot; rows=&amp;quot;15&amp;quot; style=&amp;quot;width: 99.6%&amp;quot; spellcheck=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
					&lt;br /&gt;
		&amp;lt;div id=&amp;quot;grid_html&amp;quot; name=&amp;quot;grid_html&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;grid_group&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;grid_left&amp;quot; id=&amp;quot;grid_left&amp;quot; style=&amp;quot;float:left;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;div class=&amp;quot;grid_right&amp;quot; id=&amp;quot;grid_right&amp;quot; style=&amp;quot;float:right;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;							&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;fieldset&amp;gt;&lt;br /&gt;
			&amp;lt;legend&amp;gt;Write css file:&amp;lt;/legend&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;write_css&amp;quot; name=&amp;quot;write_css&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;label for=&amp;quot;write_css&amp;quot;&amp;gt;write&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;button type=&amp;quot;button&amp;quot; id=&amp;quot;reset_grid&amp;quot;&amp;gt;reset, write&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
		var grids_name = &amp;quot;grid&amp;quot;;&lt;br /&gt;
		var grids_columns = 20;&lt;br /&gt;
&lt;br /&gt;
		var margin_top = 0;&lt;br /&gt;
		var margin_right = 0;&lt;br /&gt;
		var margin_bottom = 0.2;&lt;br /&gt;
		var margin_left = 0;&lt;br /&gt;
&lt;br /&gt;
		var padding_top = 2;&lt;br /&gt;
		var padding_right = 0;&lt;br /&gt;
		var padding_bottom = 2;&lt;br /&gt;
		var padding_left = 2;&lt;br /&gt;
&lt;br /&gt;
		var margin_innercol_top = 0;&lt;br /&gt;
		var margin_innercol_right = 0;&lt;br /&gt;
		var margin_innercol_bottom = 0;&lt;br /&gt;
		var margin_innercol_left = 0;&lt;br /&gt;
&lt;br /&gt;
		var padding_innercol_top = 0;&lt;br /&gt;
		var padding_innercol_right = 0;&lt;br /&gt;
		var padding_innercol_bottom = 0;&lt;br /&gt;
		var padding_innercol_left = 3;&lt;br /&gt;
&lt;br /&gt;
		var grid_left_width = 45;&lt;br /&gt;
		var grid_right_width = 55;&lt;br /&gt;
&lt;br /&gt;
		var outer_color = &amp;quot;#aaa&amp;quot;;&lt;br /&gt;
		var inner_color = &amp;quot;#eee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		var el_grids_name = document.getElementById(&amp;quot;grids_name&amp;quot;);&lt;br /&gt;
		var el_grids_columns = document.getElementById(&amp;quot;grids_columns&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_margin_top = document.getElementById(&amp;quot;margin_top&amp;quot;);&lt;br /&gt;
		var el_margin_right = document.getElementById(&amp;quot;margin_right&amp;quot;);&lt;br /&gt;
		var el_margin_bottom = document.getElementById(&amp;quot;margin_bottom&amp;quot;);&lt;br /&gt;
		var el_margin_left = document.getElementById(&amp;quot;margin_left&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_padding_top = document.getElementById(&amp;quot;padding_top&amp;quot;);&lt;br /&gt;
		var el_padding_right = document.getElementById(&amp;quot;padding_right&amp;quot;);&lt;br /&gt;
		var el_padding_bottom = document.getElementById(&amp;quot;padding_bottom&amp;quot;);&lt;br /&gt;
		var el_padding_left = document.getElementById(&amp;quot;padding_left&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var el_margin_innercol_top = document.getElementById(&amp;quot;margin_innercol_top&amp;quot;);&lt;br /&gt;
		var el_margin_innercol_right = document.getElementById(&amp;quot;margin_innercol_right&amp;quot;);&lt;br /&gt;
		var el_margin_innercol_bottom = document.getElementById(&amp;quot;margin_innercol_bottom&amp;quot;);&lt;br /&gt;
		var el_margin_innercol_left = document.getElementById(&amp;quot;margin_innercol_left&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_padding_innercol_top = document.getElementById(&amp;quot;padding_innercol_top&amp;quot;);&lt;br /&gt;
		var el_padding_innercol_right = document.getElementById(&amp;quot;padding_innercol_right&amp;quot;);&lt;br /&gt;
		var el_padding_innercol_bottom = document.getElementById(&amp;quot;padding_innercol_bottom&amp;quot;);&lt;br /&gt;
		var el_padding_innercol_left = document.getElementById(&amp;quot;padding_innercol_left&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var el_grid_left_width = document.getElementById(&amp;quot;grid_left_width&amp;quot;);&lt;br /&gt;
		var el_grid_right_width = document.getElementById(&amp;quot;grid_right_width&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_outer_color = document.getElementById(&amp;quot;outer_color&amp;quot;);&lt;br /&gt;
		var el_inner_color = document.getElementById(&amp;quot;inner_color&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_grid_css = document.getElementById(&amp;quot;grid_css&amp;quot;);&lt;br /&gt;
		var el_grid_pre = document.getElementById(&amp;quot;grid_pre&amp;quot;);&lt;br /&gt;
		var el_grid_html = document.getElementById(&amp;quot;grid_html&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		var el_grid_left = document.getElementById(&amp;quot;grid_left&amp;quot;);&lt;br /&gt;
		var el_grid_right = document.getElementById(&amp;quot;grid_right&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		var el_reset_grid = document.getElementById(&amp;quot;reset_grid&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
		function setinput_fromvar() {&lt;br /&gt;
			el_grids_name.value = grids_name;&lt;br /&gt;
			el_grids_columns.value = grids_columns;&lt;br /&gt;
&lt;br /&gt;
			el_margin_top.value = margin_top;&lt;br /&gt;
			el_margin_right.value = margin_right;&lt;br /&gt;
			el_margin_bottom.value = margin_bottom;&lt;br /&gt;
			el_margin_left.value = margin_left;&lt;br /&gt;
&lt;br /&gt;
			el_padding_top.value = padding_top;&lt;br /&gt;
			el_padding_right.value = padding_right;&lt;br /&gt;
			el_padding_bottom.value = padding_bottom;&lt;br /&gt;
			el_padding_left.value = padding_left;&lt;br /&gt;
&lt;br /&gt;
			el_margin_innercol_top.value = margin_innercol_top;&lt;br /&gt;
			el_margin_innercol_right.value = margin_innercol_right;&lt;br /&gt;
			el_margin_innercol_bottom.value = margin_innercol_bottom;&lt;br /&gt;
			el_margin_innercol_left.value = margin_innercol_left;&lt;br /&gt;
&lt;br /&gt;
			el_padding_innercol_top.value = padding_innercol_top;&lt;br /&gt;
			el_padding_innercol_right.value = padding_innercol_right;&lt;br /&gt;
			el_padding_innercol_bottom.value = padding_innercol_bottom;&lt;br /&gt;
			el_padding_innercol_left.value = padding_innercol_left;&lt;br /&gt;
&lt;br /&gt;
			el_grid_left_width.value = grid_left_width;&lt;br /&gt;
			el_grid_right_width.value = grid_right_width;&lt;br /&gt;
&lt;br /&gt;
			el_outer_color.value = outer_color;&lt;br /&gt;
			el_inner_color.value = inner_color;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function setvar_frominput() {&lt;br /&gt;
			grids_name = el_grids_name.value;&lt;br /&gt;
			grids_columns = el_grids_columns.value;&lt;br /&gt;
&lt;br /&gt;
			margin_top = el_margin_top.value;&lt;br /&gt;
			margin_right = el_margin_right.value;&lt;br /&gt;
			margin_bottom = el_margin_bottom.value;&lt;br /&gt;
			margin_left = el_margin_left.value;&lt;br /&gt;
&lt;br /&gt;
			padding_top = el_padding_top.value;&lt;br /&gt;
			padding_right = el_padding_right.value;&lt;br /&gt;
			padding_bottom = el_padding_bottom.value;&lt;br /&gt;
			padding_left = el_padding_left.value;&lt;br /&gt;
&lt;br /&gt;
			margin_innercol_top = el_margin_innercol_top.value;&lt;br /&gt;
			margin_innercol_right = el_margin_innercol_right.value;&lt;br /&gt;
			margin_innercol_bottom = el_margin_innercol_bottom.value;&lt;br /&gt;
			margin_innercol_left = el_margin_innercol_left.value;&lt;br /&gt;
&lt;br /&gt;
			padding_innercol_top = el_padding_innercol_top.value;&lt;br /&gt;
			padding_innercol_right = el_padding_innercol_right.value;&lt;br /&gt;
			padding_innercol_bottom = el_padding_innercol_bottom.value;&lt;br /&gt;
			padding_innercol_left = el_padding_innercol_left.value;&lt;br /&gt;
&lt;br /&gt;
			grid_left_width = el_grid_left_width.value;&lt;br /&gt;
			grid_right_width = el_grid_right_width.value;&lt;br /&gt;
&lt;br /&gt;
			outer_color = el_outer_color.value;&lt;br /&gt;
			inner_color = el_inner_color.value;&lt;br /&gt;
		}	&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
		function checkMaxLength(object){&lt;br /&gt;
			if(object.value.length &amp;gt; object.maxLength){&lt;br /&gt;
				object.value = object.value.slice(0, object.maxLength);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function number_format(number, decimals, dec_point, thousands_sep) { //https://stackoverflow.com/questions/12820312/what-is-the-js-equivalent-to-the-php-function-number-format&lt;br /&gt;
			// Strip all characters but numerical ones.&lt;br /&gt;
			number = (number + &amp;#39;&amp;#39;).replace(/[^0-9+\-Ee.]/g, &amp;#39;&amp;#39;);&lt;br /&gt;
			var n = !isFinite(+number) ? 0 : +number,&lt;br /&gt;
				prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),&lt;br /&gt;
				sep = (typeof thousands_sep === &amp;#39;undefined&amp;#39;) ? &amp;#39;,&amp;#39; : thousands_sep,&lt;br /&gt;
				dec = (typeof dec_point === &amp;#39;undefined&amp;#39;) ? &amp;#39;.&amp;#39; : dec_point,&lt;br /&gt;
				s = &amp;#39;&amp;#39;,&lt;br /&gt;
				toFixedFix = function (n, prec) {&lt;br /&gt;
					var k = Math.pow(10, prec);&lt;br /&gt;
					return &amp;#39;&amp;#39; + Math.round(n * k) / k;&lt;br /&gt;
				};&lt;br /&gt;
			// Fix for IE parseFloat(0.55).toFixed(0) = 0;&lt;br /&gt;
			s = (prec ? toFixedFix(n, prec) : &amp;#39;&amp;#39; + Math.round(n)).split(&amp;#39;.&amp;#39;);&lt;br /&gt;
			if (s[0].length &amp;gt; 3) {&lt;br /&gt;
				s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);&lt;br /&gt;
			}&lt;br /&gt;
			if ((s[1] || &amp;#39;&amp;#39;).length &amp;lt; prec) {&lt;br /&gt;
				s[1] = s[1] || &amp;#39;&amp;#39;;&lt;br /&gt;
				s[1] += new Array(prec - s[1].length + 1).join(&amp;#39;0&amp;#39;);&lt;br /&gt;
			}&lt;br /&gt;
			return s.join(dec);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		function get_grid_css(name, columns, test_css = true) {&lt;br /&gt;
			var grids_width = 100 - (margin_left * (columns-1)); //% 칼럼사이의 마진을 제외한 칼럼넓이 합의 백분율&lt;br /&gt;
&lt;br /&gt;
			var grids = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  SECTIONS  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  splits up the page horizontally.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  You&amp;#39;ll need a few of these to break up the content, and you can use them in your main wrapper, or within other divs.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name + &amp;quot;_section {&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;clear: both;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; +&amp;quot;margin: 0px;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; +&amp;quot;padding: 0px;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;}&amp;quot; +&amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  GROUPING  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  solves floating problems, by forcing the section to self clear its children (aka the clearfix hack).  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  This is good in Firefox 3.5+, Safari 4+, Chrome, Opera 9+ and IE 6+.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name +&amp;quot;_group:before,&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name +&amp;quot;_group:after { content:\&amp;quot;\&amp;quot;; display:table; }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name +&amp;quot;_group:after { clear:both;}&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name +&amp;quot;_group { zoom:1; /* For IE 6/7 */ }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  COLUMN SETUP  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  divides the section into columns.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  Each column has a left margin of 1.6% (around 20 pixels on a normal monitor),  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  except the first one. Using .col:first-child { margin-left: 0; } means you don&amp;#39;t need to use class=\&amp;quot;last\&amp;quot; anywhere.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;/*  It works in all browsers since IE6.  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name + &amp;quot;_col {&amp;quot; +&amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;clear: none;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; +&amp;quot;display: block;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;float: left;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			//test css...&lt;br /&gt;
			if (test_css) {&lt;br /&gt;
				grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\t&amp;quot; + &amp;quot;/* test css... */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\t&amp;quot; + &amp;quot;background-color: &amp;quot; + outer_color + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
			}	&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;margin: &amp;quot; + margin_top + &amp;quot;% &amp;quot; + margin_right + &amp;quot;% &amp;quot; + margin_bottom + &amp;quot;% &amp;quot; + margin_left + &amp;quot;% &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;padding: &amp;quot; + padding_top + &amp;quot;px &amp;quot; + padding_right + &amp;quot;px &amp;quot; + padding_bottom + &amp;quot;px &amp;quot; + padding_left + &amp;quot;px &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;-moz-box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;-webkit-box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;*behavior: url(boxsizing.htc);&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;}&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  INNER COLUMN SETUP  */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name + &amp;quot;_innercol {&amp;quot; +&amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; +&amp;quot;display: block;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			//test css...&lt;br /&gt;
			if (test_css) {&lt;br /&gt;
				grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\t&amp;quot; + &amp;quot;/* test css... */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\t&amp;quot; + &amp;quot;background-color: &amp;quot; + inner_color + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
			}	&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;margin: &amp;quot; + margin_innercol_top + &amp;quot;px &amp;quot; + margin_innercol_right + &amp;quot;px &amp;quot; + margin_innercol_bottom + &amp;quot;px &amp;quot; + margin_innercol_left + &amp;quot;px &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;padding: &amp;quot; + padding_innercol_top + &amp;quot;px &amp;quot; + padding_innercol_right + &amp;quot;px &amp;quot; + padding_innercol_bottom + &amp;quot;px &amp;quot; + padding_innercol_left + &amp;quot;px &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;-moz-box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;-webkit-box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;box-sizing: border-box;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;*behavior: url(boxsizing.htc);&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;}&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name + &amp;quot;_col:first-child { margin-left: 0; }&amp;quot; + &amp;quot;\n&amp;quot;; //margin-left - col:first - margin-left - col... : set margin-left only&lt;br /&gt;
			grids += &amp;quot;.&amp;quot; + name + &amp;quot;_col:last-child { padding-right: &amp;quot; + padding_left + &amp;quot;px; }&amp;quot; + &amp;quot;\n&amp;quot;; //col - padding-left - col:last - padding-right : set padding-left only&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			//test css...&lt;br /&gt;
			if (test_css) {&lt;br /&gt;
				grids += &amp;quot;/* test css... */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				grids += &amp;quot;.&amp;quot; + name + &amp;quot;_left &amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col:last-child { padding-right: 0; }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
				if (margin_left == 0 &amp;amp;&amp;amp; margin_bottom == 0) {&lt;br /&gt;
					grids += &amp;quot;.&amp;quot; + name + &amp;quot;_left &amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col { padding-top: 0; }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
					grids += &amp;quot;.&amp;quot; + name + &amp;quot;_right &amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col { padding-top: 0; }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
					grids += &amp;quot;.&amp;quot; + name + &amp;quot;_col { padding-right: 0px; }&amp;quot; + &amp;quot;\n&amp;quot;; &lt;br /&gt;
				}	&lt;br /&gt;
				else {&lt;br /&gt;
					grids += &amp;quot;.&amp;quot; + name + &amp;quot;_left &amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col { padding-top: &amp;quot; + padding_top + &amp;quot;px; }&amp;quot; + &amp;quot;\n&amp;quot;; //remove top-padding&lt;br /&gt;
					grids += &amp;quot;.&amp;quot; + name + &amp;quot;_right &amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col { padding-top: &amp;quot; + padding_top + &amp;quot;px; }&amp;quot; + &amp;quot;\n&amp;quot;; //remove top-padding&lt;br /&gt;
				}	&lt;br /&gt;
				grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  &amp;quot; + name.toUpperCase() + &amp;quot; OF &amp;quot; + columns + &amp;quot; */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				g = number_format((i / columns) * grids_width, 5, &amp;#39;.&amp;#39;, &amp;#39;&amp;#39;);&lt;br /&gt;
				grids += &amp;quot;.&amp;quot; + name + &amp;quot;_&amp;quot; + i + &amp;quot;_of_&amp;quot; + columns + &amp;quot; {width : &amp;quot; + g + &amp;quot;% }&amp;quot; +&amp;quot;\n&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
			grids += &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			grids += &amp;quot;/*  GO FULL WIDTH BELOW 480 PIXELS */&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;@media only screen and (max-width: 480px) {&amp;quot; +&amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_col { &amp;quot; +&amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t\t&amp;quot; + &amp;quot;margin: &amp;quot;+ margin_top + &amp;quot;% &amp;quot; + margin_right + &amp;quot;% &amp;quot; + margin_bottom + &amp;quot;% &amp;quot; + margin_left + &amp;quot;% &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t\t&amp;quot; + &amp;quot;padding: &amp;quot;+ padding_top + &amp;quot;px &amp;quot; + padding_right + &amp;quot;px &amp;quot; + padding_bottom + &amp;quot;px &amp;quot; + padding_left + &amp;quot;px &amp;quot; + &amp;quot;;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; + &amp;quot;}&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				grids += &amp;quot;\t&amp;quot; + &amp;quot;.&amp;quot; + name + &amp;quot;_&amp;quot; + i + &amp;quot;_of_&amp;quot; + columns;  &lt;br /&gt;
				if (i &amp;lt; columns) &lt;br /&gt;
					grids += &amp;quot;,&amp;quot; + &amp;quot;\n&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
 &lt;br /&gt;
			grids += &amp;quot;\t&amp;quot; +&amp;quot;{ width: &amp;quot; + grids_width + &amp;quot;%; }&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			grids += &amp;quot;}&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
			return grids;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		function get_grid_pre(name, columns) {&lt;br /&gt;
			ex_pre = &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_section &amp;quot; + name + &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_col &amp;quot; + name + &amp;quot;_&amp;quot; + &amp;quot;1_of_&amp;quot; + columns + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; + i + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; + &amp;quot;\n&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
			ex_pre += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;+ &amp;quot;\n&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
			ex_pre += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_section &amp;quot; + name + &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot; + &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;div class=\&amp;quot;grid_left\&amp;quot; id=\&amp;quot;grid_left\&amp;quot; style=\&amp;quot;width:&amp;quot; + grid_left_width + &amp;quot;%; float:left;\&amp;quot;&amp;gt;&amp;quot;+ &amp;quot;\n&amp;quot;;&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_col &amp;quot; + name + &amp;quot;_&amp;quot; + &amp;quot;1_of_&amp;quot; + columns + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; + i + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; + &amp;quot;\n&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
			ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;+ &amp;quot;\n&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
			ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;div class=\&amp;quot;grid_right\&amp;quot; id=\&amp;quot;grid_right\&amp;quot; style=\&amp;quot;width:&amp;quot; + grid_right_width + &amp;quot;%; float:right;\&amp;quot;&amp;gt;&amp;quot;+ &amp;quot;\n&amp;quot;;&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_col &amp;quot; + name + &amp;quot;_&amp;quot; + &amp;quot;1_of_&amp;quot; + columns + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; + i + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_pre += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; + &amp;quot;\n&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
			ex_pre += &amp;quot;\t&amp;quot; + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;+ &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			ex_pre += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
			return ex_pre;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function get_grid_html(name, columns) {&lt;br /&gt;
			ex_grid = &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_section &amp;quot; + name + &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
			for (i = 1; i &amp;lt;= columns; i++) {&lt;br /&gt;
				ex_grid += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_col &amp;quot; + name + &amp;quot;_&amp;quot; + &amp;quot;1_of_&amp;quot; + columns + &amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_grid += &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; + name + &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; + i + &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
				ex_grid += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
			}	&lt;br /&gt;
			ex_grid += &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			return ex_grid;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function set_grid_css(css) {&lt;br /&gt;
			document.head.insertAdjacentHTML(&amp;quot;beforeend&amp;quot;, &amp;quot;&amp;lt;style&amp;gt;&amp;quot; + css + &amp;quot;&amp;lt;/style&amp;gt;&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function set_insertAdjacentHTML(el, text) {&lt;br /&gt;
			el.innerHTML = &amp;quot;&amp;quot;;&lt;br /&gt;
			el.insertAdjacentHTML(&amp;quot;beforeend&amp;quot;, text)&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		function reset_grid() {&lt;br /&gt;
			setvar_frominput();&lt;br /&gt;
			&lt;br /&gt;
			var css = get_grid_css(grids_name, grids_columns);&lt;br /&gt;
			set_grid_css(css);&lt;br /&gt;
			set_insertAdjacentHTML(el_grid_css, css);&lt;br /&gt;
&lt;br /&gt;
			set_insertAdjacentHTML(el_grid_pre, get_grid_pre(grids_name, grids_columns));&lt;br /&gt;
			set_insertAdjacentHTML(el_grid_html, get_grid_html(grids_name, grids_columns));&lt;br /&gt;
			set_insertAdjacentHTML(el_grid_left, get_grid_html(grids_name, grids_columns));&lt;br /&gt;
			set_insertAdjacentHTML(el_grid_right, get_grid_html(grids_name, grids_columns));&lt;br /&gt;
			&lt;br /&gt;
			el_grid_left.style.width = grid_left_width+&amp;quot;%&amp;quot;;&lt;br /&gt;
			el_grid_right.style.width = grid_right_width+&amp;quot;%&amp;quot;;&lt;br /&gt;
		}	&lt;br /&gt;
&lt;br /&gt;
		//https://blogpack.tistory.com/1116&lt;br /&gt;
		function downloadTemplate(filename, text) {&lt;br /&gt;
			var el_temp = document.createElement(&amp;#39;a&amp;#39;);&lt;br /&gt;
			el_temp.setAttribute(&amp;#39;href&amp;#39;, &amp;#39;data:text/plain;charset=utf-8,&amp;#39; + encodeURIComponent(text));&lt;br /&gt;
			el_temp.setAttribute(&amp;#39;download&amp;#39;, filename);&lt;br /&gt;
			el_temp.style.display = &amp;#39;none&amp;#39;;&lt;br /&gt;
			document.body.appendChild(el_temp);&lt;br /&gt;
			el_temp.click();&lt;br /&gt;
			document.body.removeChild(el_temp);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		function css_write() {&lt;br /&gt;
			setvar_frominput();&lt;br /&gt;
			downloadTemplate(grids_name+&amp;quot;_&amp;quot;+grids_columns+&amp;quot;.css&amp;quot;, get_grid_css(grids_name, grids_columns, false));&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		setinput_fromvar();&lt;br /&gt;
		reset_grid();&lt;br /&gt;
&lt;br /&gt;
		el_reset_grid.addEventListener(&amp;#39;click&amp;#39;, function(event)	{&lt;br /&gt;
			reset_grid();&lt;br /&gt;
			var el_write_css = document.getElementById(&amp;quot;write_css&amp;quot;);&lt;br /&gt;
			if (el_write_css.checked===true) {&lt;br /&gt;
			    el_write_css.checked = false;&lt;br /&gt;
				//el_write_css.click(); //to Uncheck it&lt;br /&gt;
				css_write(); &lt;br /&gt;
			}	&lt;br /&gt;
			return false;&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
html + php&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//source&lt;br /&gt;
//http://www.responsivegridsystem.com/calculator/&lt;br /&gt;
//https://github.com/johnpolacek/extra-strength-responsive-grids&lt;br /&gt;
&lt;br /&gt;
    $grids_name = &amp;quot;grid&amp;quot;;&lt;br /&gt;
	$grids_columns = 20;&lt;br /&gt;
&lt;br /&gt;
	$margin_top = 0.0;&lt;br /&gt;
	$margin_right = 0;&lt;br /&gt;
	$margin_bottom = 0.2;&lt;br /&gt;
	$margin_left = 0.0;&lt;br /&gt;
&lt;br /&gt;
	$padding_top = 2;&lt;br /&gt;
	$padding_right = 0;&lt;br /&gt;
	$padding_bottom = 2;&lt;br /&gt;
	$padding_left = 2;&lt;br /&gt;
&lt;br /&gt;
	$margin_innercol_top = 0;&lt;br /&gt;
	$margin_innercol_right = 0;&lt;br /&gt;
	$margin_innercol_bottom = 0;&lt;br /&gt;
	$margin_innercol_left = 0;&lt;br /&gt;
&lt;br /&gt;
	$padding_innercol_top = 0;&lt;br /&gt;
	$padding_innercol_right = 0;&lt;br /&gt;
	$padding_innercol_bottom = 0;&lt;br /&gt;
	$padding_innercol_left = 3;&lt;br /&gt;
&lt;br /&gt;
	$grid_left_width = 45;&lt;br /&gt;
	$grid_right_width = 55;&lt;br /&gt;
&lt;br /&gt;
	$outer_color = &amp;quot;#aaa&amp;quot;;&lt;br /&gt;
	$inner_color = &amp;quot;#eee&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	//protected $background_color = &amp;quot;#1E90FF&amp;quot;;&lt;br /&gt;
	//protected $background_color_left = &amp;quot;#FDFD96&amp;quot;;&lt;br /&gt;
	//protected $background_color_right = &amp;quot;#028A0F&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	$write_css = 0;&lt;br /&gt;
&lt;br /&gt;
	function grid_css($name, $columns, $test_css = true) &lt;br /&gt;
	{&lt;br /&gt;
		global $grids_name;&lt;br /&gt;
		global $grids_columns;&lt;br /&gt;
&lt;br /&gt;
		global $margin_top;&lt;br /&gt;
		global $margin_right;&lt;br /&gt;
		global $margin_bottom;&lt;br /&gt;
		global $margin_left;&lt;br /&gt;
&lt;br /&gt;
		global $padding_top;&lt;br /&gt;
		global $padding_right;&lt;br /&gt;
		global $padding_bottom;&lt;br /&gt;
		global $padding_left;&lt;br /&gt;
&lt;br /&gt;
		global $margin_innercol_top;&lt;br /&gt;
		global $margin_innercol_right;&lt;br /&gt;
		global $margin_innercol_bottom;&lt;br /&gt;
		global $margin_innercol_left;&lt;br /&gt;
&lt;br /&gt;
		global $padding_innercol_top;&lt;br /&gt;
		global $padding_innercol_right;&lt;br /&gt;
		global $padding_innercol_bottom;&lt;br /&gt;
		global $padding_innercol_left;&lt;br /&gt;
&lt;br /&gt;
		global $outer_color;&lt;br /&gt;
		global $inner_color;&lt;br /&gt;
&lt;br /&gt;
		$grids_name = $name;&lt;br /&gt;
		$grids_columns = $columns;&lt;br /&gt;
		$grids_width = 100 - ($margin_left * ($columns-1)); //%&lt;br /&gt;
&lt;br /&gt;
		$grids = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;/*  SECTIONS  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  splits up the page horizontally.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  You&amp;#39;ll need a few of these to break up the content, and you can use them in your main wrapper, or within other divs.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_section {&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;clear: both;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;margin: 0px;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;padding: 0px;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;}&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;/*  GROUPING  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  solves floating problems, by forcing the section to self clear its children (aka the clearfix hack).  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  This is good in Firefox 3.5+, Safari 4+, Chrome, Opera 9+ and IE 6+.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_group:before,&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_group:after { content:\&amp;quot;\&amp;quot;; display:table; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_group:after { clear:both;}&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_group { zoom:1; /* For IE 6/7 */ }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;/*  COLUMN SETUP  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  divides the section into columns.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  Each column has a left margin of 1.6% (around 20 pixels on a normal monitor),  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  except the first one. Using .col:first-child { margin-left: 0; } means you don&amp;#39;t need to use class=\&amp;quot;last\&amp;quot; anywhere.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;/*  It works in all browsers since IE6.  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_col {&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;clear:none;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;display: block;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;float:left;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        //test css...&lt;br /&gt;
		if ($test_css) {&lt;br /&gt;
			$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\t&amp;quot; . &amp;quot;/* test css... */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\t&amp;quot; . &amp;quot;background-color: &amp;quot; . $outer_color . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
		}	&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;margin: &amp;quot; . $margin_top . &amp;quot;% &amp;quot; . $margin_right . &amp;quot;% &amp;quot; . $margin_bottom . &amp;quot;% &amp;quot; . $margin_left . &amp;quot;% &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;padding: &amp;quot; . $padding_top . &amp;quot;px &amp;quot; . $padding_right . &amp;quot;px &amp;quot; . $padding_bottom . &amp;quot;px &amp;quot; . $padding_left . &amp;quot;px &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;-moz-box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;-webkit-box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;*behavior:url(boxsizing.htc);&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;}&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;/*  INNER COLUMN SETUP  */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_innercol {&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;display: block;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        //test css...&lt;br /&gt;
		if ($test_css) {&lt;br /&gt;
			$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\t&amp;quot; . &amp;quot;/* test css... */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\t&amp;quot; . &amp;quot;background-color: &amp;quot; . $inner_color . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
		}	&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;margin: &amp;quot; . $margin_innercol_top . &amp;quot;px &amp;quot; . $margin_innercol_right . &amp;quot;px &amp;quot; . $margin_innercol_bottom . &amp;quot;px &amp;quot; . $margin_innercol_left . &amp;quot;px &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;padding: &amp;quot; . $padding_innercol_top . &amp;quot;px &amp;quot; . $padding_innercol_right . &amp;quot;px &amp;quot; . $padding_innercol_bottom . &amp;quot;px &amp;quot; . $padding_innercol_left . &amp;quot;px &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;-moz-box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;-webkit-box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;box-sizing:border-box;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;*behavior:url(boxsizing.htc);&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;}&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_col:first-child { margin-left: 0; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_col:last-child { padding-right: &amp;quot;.$padding_left . &amp;quot;px; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        //test css...&lt;br /&gt;
		if ($test_css) {&lt;br /&gt;
			$grids .= &amp;quot;/* test css... */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_left &amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col:last-child { padding-right: 0; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
			if ($margin_left == 0 &amp;amp;&amp;amp; $margin_bottom == 0) {&lt;br /&gt;
				$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_left &amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col { padding-top: 0; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
				$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_right &amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col { padding-top: 0; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
				$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_col { padding-right: 0px; }&amp;quot; . &amp;quot;\n&amp;quot;; &lt;br /&gt;
			}	&lt;br /&gt;
			else {&lt;br /&gt;
				$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_left &amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col { padding-top: &amp;quot; . $padding_top . &amp;quot;px; }&amp;quot; . &amp;quot;\n&amp;quot;; //remove top-padding&lt;br /&gt;
				$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_right &amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col { padding-top: &amp;quot; . $padding_top . &amp;quot;px; }&amp;quot; . &amp;quot;\n&amp;quot;; //remove top-padding&lt;br /&gt;
			}	&lt;br /&gt;
			$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		$grids .= &amp;quot;/*  &amp;quot; . strtoupper($name) . &amp;quot; OF &amp;quot; . $columns . &amp;quot; */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$g = number_format (($i / $columns) * $grids_width, 5, &amp;#39;.&amp;#39;, &amp;#39;&amp;#39;);&lt;br /&gt;
			$grids .= &amp;quot;.&amp;quot; . $name . &amp;quot;_&amp;quot; . $i . &amp;quot;_of_&amp;quot; . $columns . &amp;quot; {width : &amp;quot; . $g . &amp;quot;% }&amp;quot; . &amp;quot;\n&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
		$grids .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$grids .= &amp;quot;/*  GO FULL WIDTH BELOW 480 PIXELS */&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;@media only screen and (max-width: 480px) {&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_col { &amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t\t&amp;quot; . &amp;quot;margin: &amp;quot;. $margin_top . &amp;quot;% &amp;quot; . $margin_right . &amp;quot;% &amp;quot; . $margin_bottom . &amp;quot;% &amp;quot; . $margin_left . &amp;quot;% &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t\t&amp;quot; . &amp;quot;padding: &amp;quot;. $padding_top . &amp;quot;px &amp;quot; . $padding_right . &amp;quot;px &amp;quot; . $padding_bottom . &amp;quot;px &amp;quot; . $padding_left . &amp;quot;px &amp;quot; . &amp;quot;;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;}&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$grids .= &amp;quot;\t&amp;quot; . &amp;quot;.&amp;quot; . $name . &amp;quot;_&amp;quot; . $i . &amp;quot;_of_&amp;quot; . $columns;  &lt;br /&gt;
			if ($i &amp;lt; $columns) &lt;br /&gt;
				$grids .= &amp;quot;,&amp;quot; . &amp;quot;\n&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
 &lt;br /&gt;
		$grids .= &amp;quot;\t&amp;quot; . &amp;quot;{ width: &amp;quot;. $grids_width .&amp;quot;%; }&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		$grids .= &amp;quot;}&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
		return $grids;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function grid_pre($name, $columns) &lt;br /&gt;
	{&lt;br /&gt;
		global $grid_left_width;&lt;br /&gt;
		global $grid_right_width;&lt;br /&gt;
&lt;br /&gt;
		$ex_pre = &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_section &amp;quot; . $name . &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_col &amp;quot; . $name . &amp;quot;_&amp;quot; . &amp;quot;1_of_&amp;quot; . $columns .&amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; . $i . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
		$ex_pre .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;. &amp;quot;\n&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		$ex_pre .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_section &amp;quot; . $name . &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;div class=\&amp;quot;grid_left\&amp;quot; id=\&amp;quot;grid_left\&amp;quot; style=\&amp;quot;width:&amp;quot; . $grid_left_width . &amp;quot;%; float:left;\&amp;quot;&amp;gt;&amp;quot;. &amp;quot;\n&amp;quot;;&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_col &amp;quot; . $name . &amp;quot;_&amp;quot; . &amp;quot;1_of_&amp;quot; . $columns .&amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; . $i . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
		$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;. &amp;quot;\n&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;div class=\&amp;quot;grid_right\&amp;quot; id=\&amp;quot;grid_right\&amp;quot; style=\&amp;quot;width:&amp;quot; . $grid_right_width . &amp;quot;%; float:right;\&amp;quot;&amp;gt;&amp;quot;. &amp;quot;\n&amp;quot;;&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_col &amp;quot; . $name . &amp;quot;_&amp;quot; . &amp;quot;1_of_&amp;quot; . $columns .&amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; . $i . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_pre .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; . &amp;quot;\n&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
		$ex_pre .= &amp;quot;\t&amp;quot; . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;. &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		$ex_pre .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		return $ex_pre;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function grid_html($name, $columns) &lt;br /&gt;
	{&lt;br /&gt;
		$ex_grid = &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_section &amp;quot; . $name . &amp;quot;_group\&amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
		for ($i = 1; $i &amp;lt;= $columns; $i++) {&lt;br /&gt;
			$ex_grid .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_col &amp;quot; . $name . &amp;quot;_&amp;quot; . &amp;quot;1_of_&amp;quot; . $columns .&amp;quot;\&amp;quot;&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_grid .= &amp;quot;&amp;lt;div class=\&amp;quot;&amp;quot; . $name . &amp;quot;_innercol\&amp;quot;&amp;gt;&amp;quot; . $i . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
			$ex_grid .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;  &lt;br /&gt;
		}	&lt;br /&gt;
		$ex_grid .= &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		return $ex_grid;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function css_write($name, $columns) &lt;br /&gt;
	{&lt;br /&gt;
		$fp = fopen($name.&amp;quot;_&amp;quot;.$columns.&amp;quot;.css&amp;quot;, &amp;quot;w&amp;quot;);&lt;br /&gt;
		fwrite($fp, grid_css($name, $columns, false));&lt;br /&gt;
		fclose($fp);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ($_SERVER[&amp;#39;REQUEST_METHOD&amp;#39;] == &amp;#39;POST&amp;#39;) {&lt;br /&gt;
		$grids_name = $_POST[&amp;#39;grids_name&amp;#39;];&lt;br /&gt;
		$grids_columns = $_POST[&amp;#39;grids_columns&amp;#39;];&lt;br /&gt;
&lt;br /&gt;
		$margin_top = $_POST[&amp;#39;margin_top&amp;#39;];&lt;br /&gt;
		$margin_right = $_POST[&amp;#39;margin_right&amp;#39;];&lt;br /&gt;
		$margin_bottom = $_POST[&amp;#39;margin_bottom&amp;#39;];&lt;br /&gt;
		$margin_left = $_POST[&amp;#39;margin_left&amp;#39;];&lt;br /&gt;
				&lt;br /&gt;
		$padding_top = $_POST[&amp;#39;padding_top&amp;#39;];&lt;br /&gt;
		$padding_right = $_POST[&amp;#39;padding_right&amp;#39;];&lt;br /&gt;
		$padding_bottom = $_POST[&amp;#39;padding_bottom&amp;#39;];&lt;br /&gt;
		$padding_left = $_POST[&amp;#39;padding_left&amp;#39;];&lt;br /&gt;
&lt;br /&gt;
		$margin_innercol_top = $_POST[&amp;#39;margin_innercol_top&amp;#39;];&lt;br /&gt;
		$margin_innercol_right = $_POST[&amp;#39;margin_innercol_right&amp;#39;];&lt;br /&gt;
		$margin_innercol_bottom = $_POST[&amp;#39;margin_innercol_bottom&amp;#39;];&lt;br /&gt;
		$margin_innercol_left = $_POST[&amp;#39;margin_innercol_left&amp;#39;];&lt;br /&gt;
				&lt;br /&gt;
		$padding_innercol_top = $_POST[&amp;#39;padding_innercol_top&amp;#39;];&lt;br /&gt;
		$padding_innercol_right = $_POST[&amp;#39;padding_innercol_right&amp;#39;];&lt;br /&gt;
		$padding_innercol_bottom = $_POST[&amp;#39;padding_innercol_bottom&amp;#39;];&lt;br /&gt;
		$padding_innercol_left = $_POST[&amp;#39;padding_innercol_left&amp;#39;];&lt;br /&gt;
&lt;br /&gt;
		$grid_left_width = $_POST[&amp;#39;grid_left_width&amp;#39;];&lt;br /&gt;
		$grid_right_width = $_POST[&amp;#39;grid_right_width&amp;#39;];&lt;br /&gt;
	&lt;br /&gt;
		$outer_color = $_POST[&amp;#39;outer_color&amp;#39;];&lt;br /&gt;
		$inner_color = $_POST[&amp;#39;inner_color&amp;#39;];&lt;br /&gt;
		&lt;br /&gt;
		if (isset($_POST[&amp;#39;write_css&amp;#39;]) &amp;amp;&amp;amp; $_POST[&amp;#39;write_css&amp;#39;] == &amp;quot;write&amp;quot;) {&lt;br /&gt;
			css_write($grids_name, $grids_columns); &lt;br /&gt;
			$write_css = 0;&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$grid_css = grid_css($grids_name, $grids_columns);&lt;br /&gt;
	$grid_pre = grid_pre($grids_name, $grids_columns);&lt;br /&gt;
	$grid_html = grid_html($grids_name, $grids_columns);&lt;br /&gt;
	$grid_left = grid_html($grids_name, $grids_columns);&lt;br /&gt;
	$grid_right = grid_html($grids_name, $grids_columns);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;grid&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;X-UA-Compatible&amp;quot; content=&amp;quot;IE=edge,chrome=1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
		input, button, span, p,	textarea, div {&lt;br /&gt;
			font-size: 11pt;&lt;br /&gt;
		}&lt;br /&gt;
		input, div { &lt;br /&gt;
			margin: 0px 0px 0px 0px; &lt;br /&gt;
			padding: 0px;&lt;br /&gt;
		}&lt;br /&gt;
		button { &lt;br /&gt;
			margin: 0px; &lt;br /&gt;
			padding: 1px;&lt;br /&gt;
			border: 1px solid #777;&lt;br /&gt;
			background: #ccc;&lt;br /&gt;
		}&lt;br /&gt;
		button:hover { &lt;br /&gt;
			background-color: #A9BCEF; &lt;br /&gt;
			cursor:pointer;&lt;br /&gt;
		}&lt;br /&gt;
		p { &lt;br /&gt;
			margin: 1px 1px 1px 1px; &lt;br /&gt;
			padding: 2px;&lt;br /&gt;
		}&lt;br /&gt;
		textarea {&lt;br /&gt;
			border: 1px solid #999999;&lt;br /&gt;
			margin: 0px 0px 0px 0px;&lt;br /&gt;
			padding: 2px;&lt;br /&gt;
			overflow: auto; &lt;br /&gt;
		}&lt;br /&gt;
		textarea {&lt;br /&gt;
			tab-size : 4;&lt;br /&gt;
			-o-tab-size : 4;&lt;br /&gt;
			-moz-tab-size : 4;&lt;br /&gt;
			-webkit-tab-size: 4; &lt;br /&gt;
		}&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;?php echo $grid_css; ?&amp;gt;&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;form action=&amp;quot;index.php&amp;quot; id=&amp;quot;grids&amp;quot; name=&amp;quot;grids&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;source : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;http://www.responsivegridsystem.com&amp;quot;&amp;gt;responsivegridsystem&amp;lt;/a&amp;gt;&lt;br /&gt;
			&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;https://github.com/johnpolacek/extra-strength-responsive-grids&amp;quot;&amp;gt;extra-strength-responsive-grids&amp;lt;/a&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;css grid name : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grids_name&amp;quot; name=&amp;quot;grids_name&amp;quot; value=&amp;quot;&amp;lt;?php echo $grids_name; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid columns : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;number&amp;quot; id=&amp;quot;grids_columns&amp;quot; name=&amp;quot;grids_columns&amp;quot; maxlength=&amp;quot;3&amp;quot; oninput=&amp;quot;checkMaxLength(this)&amp;quot; value=&amp;quot;&amp;lt;?php echo $grids_columns; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;margin(%) top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_top&amp;quot; name=&amp;quot;margin_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_top; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_right&amp;quot; name=&amp;quot;margin_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_right; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_bottom&amp;quot; name=&amp;quot;margin_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_bottom; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_left&amp;quot; name=&amp;quot;margin_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_left; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;padding(px) top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_top&amp;quot; name=&amp;quot;padding_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_top; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_right&amp;quot; name=&amp;quot;padding_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_right; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_bottom&amp;quot; name=&amp;quot;padding_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_bottom; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_left&amp;quot; name=&amp;quot;padding_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_left; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;margin(px) innercol top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_top&amp;quot; name=&amp;quot;margin_innercol_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_innercol_top; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_right&amp;quot; name=&amp;quot;margin_innercol_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_innercol_right; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_bottom&amp;quot; name=&amp;quot;margin_innercol_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_innercol_bottom; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;margin_innercol_left&amp;quot; name=&amp;quot;margin_innercol_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $margin_innercol_left; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;padding(px) innercol top : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_top&amp;quot; name=&amp;quot;padding_innercol_top&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_innercol_top; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; right &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_right&amp;quot; name=&amp;quot;padding_innercol_right&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_innercol_right; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; bottom &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_bottom&amp;quot; name=&amp;quot;padding_innercol_bottom&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_innercol_bottom; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt; left &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;padding_innercol_left&amp;quot; name=&amp;quot;padding_innercol_left&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $padding_innercol_left; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid left width(%) : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grid_left_width&amp;quot; name=&amp;quot;grid_left_width&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $grid_left_width; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;grid right width(%) : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;grid_right_width&amp;quot; name=&amp;quot;grid_right_width&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;lt;?php echo $grid_right_width; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;outer color : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;outer_color&amp;quot; name=&amp;quot;outer_color&amp;quot; value=&amp;quot;&amp;lt;?php echo $outer_color; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;inner color : &amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;
			&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;inner_color&amp;quot; name=&amp;quot;inner_color&amp;quot; value=&amp;quot;&amp;lt;?php echo $inner_color; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;The CSS&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;textarea id=&amp;quot;grid_css&amp;quot; name=&amp;quot;grid_css&amp;quot; rows=&amp;quot;15&amp;quot; style=&amp;quot;width: 99.6%&amp;quot; spellcheck=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;?php echo $grid_css; ?&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;&amp;lt;span&amp;gt;The HTML&amp;lt;/span&amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;textarea id=&amp;quot;grid_pre&amp;quot; name=&amp;quot;grid_pre&amp;quot; rows=&amp;quot;15&amp;quot; style=&amp;quot;width: 99.6%&amp;quot; spellcheck=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;?php echo $grid_pre; ?&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
					&lt;br /&gt;
		&amp;lt;div id=&amp;quot;grid_html&amp;quot; name=&amp;quot;grid_html&amp;quot;&amp;gt;&amp;lt;?php echo $grid_html; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;#39;&amp;lt;?php echo $grids_name . &amp;quot;_section &amp;quot; . $grids_name . &amp;quot;_group&amp;quot;; ?&amp;gt;&amp;#39;&amp;gt;&lt;br /&gt;
			&amp;lt;?php echo &amp;#39;&amp;lt;div class=&amp;quot;&amp;#39; . $grids_name . &amp;#39;_left id=&amp;quot;grid_left&amp;quot; style=&amp;quot;width:&amp;#39; . $grid_left_width . &amp;#39;%; float:left;&amp;quot;&amp;gt;&amp;#39;?&amp;gt;&amp;lt;?php echo $grid_left; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
			&amp;lt;?php echo &amp;#39;&amp;lt;div class=&amp;quot;&amp;#39; . $grids_name . &amp;#39;_right id=&amp;quot;grid_right&amp;quot; style=&amp;quot;width:&amp;#39; . $grid_right_width . &amp;#39;%; float:right;&amp;quot;&amp;gt;&amp;#39;?&amp;gt;&amp;lt;?php echo $grid_right; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;							&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;fieldset&amp;gt;&lt;br /&gt;
			&amp;lt;legend&amp;gt;Write css file:&amp;lt;/legend&amp;gt;&lt;br /&gt;
			&amp;lt;div&amp;gt;&lt;br /&gt;
				&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;write_css&amp;quot; name=&amp;quot;write_css&amp;quot; value=&amp;quot;write&amp;quot; &amp;lt;?php echo ($write_css==1 ? &amp;#39;checked=&amp;quot;checked&amp;quot;&amp;#39; : &amp;#39;&amp;#39;);?&amp;gt;&amp;gt;&lt;br /&gt;
				&amp;lt;label for=&amp;quot;write_css&amp;quot;&amp;gt;write&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;reset, write&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
		function checkMaxLength(object){&lt;br /&gt;
			if(object.value.length &amp;gt; object.maxLength){&lt;br /&gt;
				object.value = object.value.slice(0, object.maxLength);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
첨부파일은 html + php 확장판입니다.&lt;br /&gt;
&lt;br /&gt;
이걸 올릴까 말까 고민한지 한달이 되어가는데.. 한분에게라도 도움이 될까 싶어 올립니다&lt;br /&gt;
&lt;br /&gt;
설명을 좀 달아볼까 했는데 그런 재주는 없었습니다&lt;br /&gt;
&lt;br /&gt;
네종류의 예제로 설명을 대신합니다.&lt;br /&gt;
&lt;br /&gt;
혹시 궁금한 점이 계시면 댓글 달아주세요.</description>
                    <pubDate>Sun, 02 Jul 2023 00:33:22 +0900</pubDate>
                    <dc:creator>darkninja</dc:creator>
                </item>
                            <item>
                    <title>빠른시작 시즌2  php8.1 & CI4</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=24988</link>
                    <description>안녕하세요 카이도입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
다시 돌아온 docker로 시작해보는 빠른 시작 입니다.&lt;br /&gt;
&lt;br /&gt;
설치 리스트&lt;br /&gt;
&lt;br /&gt;
nginx:latest&lt;br /&gt;
&lt;br /&gt;
mysql:5.7.37&lt;br /&gt;
&lt;br /&gt;
php8.1-fpm&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
하단에 참조한 파일의 압축을 풀어주세요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
우선 도커를 설치 뙇!&lt;br /&gt;
&lt;br /&gt;
https://hub.docker.com/editions/community/docker-ce-desktop-windows&lt;br /&gt;
&lt;br /&gt;
해당 사이트 참조&lt;br /&gt;
&lt;br /&gt;
다운로드 주소&lt;br /&gt;
&lt;br /&gt;
https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe&lt;br /&gt;
&lt;br /&gt;
PS. 이전과 다르게 WSL2 를 사용합니다 [윈도우체계]&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
WSL2가 없으면 설치하셔야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
압축을 푼 폴더에서 CMD 이나 Windows Power Shell 로 실행하세요.&lt;br /&gt;
&lt;br /&gt;
docker-compose up --build -d&amp;nbsp; [해당 도커 파일을 설치하라.]&lt;br /&gt;
&lt;br /&gt;
(설치이후 다시 기동할때&amp;nbsp; docker-compose up -d&amp;nbsp; &amp;nbsp;처음 시작 할때로 --build 옵션 빼고도 상관없음. --build 는 무조건 설치파일 확인 하는 옵션 입니다.)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그다음에 할게 몇가지 있습니다.&lt;br /&gt;
&lt;br /&gt;
CI4는 까다롭거든요 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
nginx&amp;nbsp; mysql php-fpm 까지 설치된 상태에서&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
docker exec -it web81 /bin/bash&lt;br /&gt;
&lt;br /&gt;
해당 컨테이너로 접속 하시면&amp;nbsp; 기본 작업 디렉토리가&lt;br /&gt;
&lt;br /&gt;
/var/www/app&amp;nbsp; 폴더로 잡혀있습니다.&lt;br /&gt;
&lt;br /&gt;
ci4를 설치해 봅시다 !&lt;br /&gt;
&lt;br /&gt;
https://codeigniter.com/user_guide/installation/installing_composer.html&lt;br /&gt;
&lt;br /&gt;
메뉴얼에 따르면&amp;nbsp; 이렇게 설치하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
[docker image에 이미 composer는 설치되어있습니다!]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
composer create-project codeigniter4/appstarter --no-dev&lt;br /&gt;
&lt;br /&gt;
종속성 패키지 체크 안하는 버전으로 설치하고 진행 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
env 파일 복사 및 설정&lt;br /&gt;
&lt;br /&gt;
cp /var/www/app/appstarter/env&amp;nbsp;/var/www/app/appstarter/.env&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
.env 설정 변경&lt;br /&gt;
&lt;br /&gt;
vi&amp;nbsp;/var/www/app/appstarter/.env&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
# CI_ENVIRONMENT = production&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
밑에 개발모드로 설정해서 에러 메세지 확인 가능하게 변경&lt;br /&gt;
&lt;br /&gt;
CI_ENVIRONMENT = development&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그리고 localhost로 접속하면 아래의 에러메세지가 나옵니다.&lt;br /&gt;
&lt;br /&gt;
CodeIgniter\Cache\Exceptions\CacheException&lt;br /&gt;
&lt;br /&gt;
cache 폴더의 권한 문제입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
어차피 외부 접근 권한이 없으니 그냥 전체 권한 줍니다.&lt;br /&gt;
&lt;br /&gt;
chmod -R 777 /var/www/app/appstarter/writable/cache/&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그리고 확인해 보면&lt;br /&gt;
&lt;br /&gt;
Welcome to CodeIgniter 4.2.11&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
to enjoy ~&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS mysql 정보는 docker-compose.yml 파일에 아이디와 패스워드가 적혀있습니다.&lt;br /&gt;
&lt;br /&gt;
포트는 3307 로 접속합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
nginx 로그는 nginx log 폴더와 conf 폴더 확인&lt;br /&gt;
&lt;br /&gt;
php 로그는 php 폴더 확인&lt;br /&gt;
&lt;br /&gt;
xdebug 사용하고 싶으면 php 폴더에 Dockerfile 파일에 주석 해제&lt;br /&gt;
&lt;br /&gt;
9000포트는 fpm 때문에 사용불가로&amp;nbsp;xdebug.remote_port=9001&amp;nbsp; 번으로 설정됨&lt;br /&gt;
&lt;br /&gt;
끗 !&lt;br /&gt;
&lt;br /&gt;
설치 영상은 곧 !</description>
                    <pubDate>Fri, 23 Dec 2022 17:05:54 +0900</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>CI4에서 Database Master / Replica(Slave) 나눠서 사용하기</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=23721</link>
                    <description>안녕하세요, 이번에 아직 오픈하지 않은 대규모 서비스(?)를 CI4로 운용하게 되면서 DB분리를 진행하며 겪게 된 고충에 대해서 강좌 게시판에 털어보고자 합니다.&lt;br /&gt;
&lt;br /&gt;
그리고 아이디를 제가 잊어버려서 비밀번호 찾기를 눌렀더니 아이디를 입력하라고 해서 그냥 아이디를 시원하게 하나 다시 팠습니다.&lt;br /&gt;
&lt;br /&gt;
프레임워크에서 DB분리, 참 쉽지가 않은데요.&lt;br /&gt;
&lt;br /&gt;
Pure한 PHP를 사용할 때와 달리 CI에서는 MVC 방식으로 접근을 해야하고, 프레임워크가 정해주는 방식을 따라가야 하기 때문에 참 어려움이 많았습니다.&lt;br /&gt;
&lt;br /&gt;
관련하여 해결한 방법을 여기에 남겨드립니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
해외 쪽에서도 CI로 DB를 분리해서 사용한다는 글은 있지만, 다 CI3까지로 한정되는게 제가 3를 써보질 않아서 잘 모르겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
각설하고 시작하겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
1. 먼저 .env 파일을 수정을 진행해야합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
database.default.hostname =&lt;br /&gt;
database.default.database =&lt;br /&gt;
database.default.username =&lt;br /&gt;
database.default.password =&lt;br /&gt;
database.default.DBDriver = MySQLi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이 부분 아래에 다음과 같은 부분을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
database.default.hostname =&lt;br /&gt;
database.default.database =&lt;br /&gt;
database.default.username =&lt;br /&gt;
database.default.password =&lt;br /&gt;
database.default.DBDriver = MySQLi&lt;br /&gt;
&lt;br /&gt;
# 대충 여기가 아래입니당&lt;br /&gt;
database.replica.hostname =&lt;br /&gt;
database.replica.database =&lt;br /&gt;
database.replica.username =&lt;br /&gt;
database.replica.password =&lt;br /&gt;
database.replica.DBDriver = MySQLi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
저는 세션을 사용하지 않고 RestAPI 방식의 토큰을 차용하여 사용했기 때문에 기본을 Replica로 잡았는데요.&lt;br /&gt;
&lt;br /&gt;
이렇게 잡으면 DB세션 등을 사용하는 분들께 문제가 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그래서 저는 Master를 그냥 기본으로 잡고 글을 적습니다.&lt;br /&gt;
&lt;br /&gt;
안되면 알아서 적당히 수정해서 쓰시면 됩니다&lt;br /&gt;
&lt;br /&gt;
각 DB와 마스터/레플리카를 구현하는 부분은 생략하겠습니다. 이거 쓰면 제가 글을 쓰다가 말 것 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그 다음! Config/Database.php 에 들어가서 다음 구절을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
public $default = [&lt;br /&gt;
&lt;br /&gt;
대충 기본&amp;nbsp;DB 설정하는 부분이 끝나면...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
     * The Replica database connection.&lt;br /&gt;
     *&lt;br /&gt;
     * @var array&lt;br /&gt;
     */&lt;br /&gt;
    public $replica = [&lt;br /&gt;
        &amp;#39;DSN&amp;#39;      =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;hostname&amp;#39; =&amp;gt; &amp;#39;localhost&amp;#39;,&lt;br /&gt;
        &amp;#39;username&amp;#39; =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;password&amp;#39; =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;database&amp;#39; =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;DBDriver&amp;#39; =&amp;gt; &amp;#39;MySQLi&amp;#39;,&lt;br /&gt;
        &amp;#39;DBPrefix&amp;#39; =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;pConnect&amp;#39; =&amp;gt; false,&lt;br /&gt;
        &amp;#39;DBDebug&amp;#39;  =&amp;gt; (ENVIRONMENT !== &amp;#39;production&amp;#39;),&lt;br /&gt;
        &amp;#39;charset&amp;#39;  =&amp;gt; &amp;#39;utf8&amp;#39;,&lt;br /&gt;
        &amp;#39;DBCollat&amp;#39; =&amp;gt; &amp;#39;utf8_general_ci&amp;#39;,&lt;br /&gt;
        &amp;#39;swapPre&amp;#39;  =&amp;gt; &amp;#39;&amp;#39;,&lt;br /&gt;
        &amp;#39;encrypt&amp;#39;  =&amp;gt; false,&lt;br /&gt;
        &amp;#39;compress&amp;#39; =&amp;gt; false,&lt;br /&gt;
        &amp;#39;strictOn&amp;#39; =&amp;gt; false,&lt;br /&gt;
        &amp;#39;failover&amp;#39; =&amp;gt; [],&lt;br /&gt;
        &amp;#39;port&amp;#39;     =&amp;gt; 3306,&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
네, 이제 모든&amp;nbsp;준비는 끝났습니다.&lt;br /&gt;
&lt;br /&gt;
Replica를 위한 전용 모델을 구축해야합니다.&lt;br /&gt;
&lt;br /&gt;
App/Model 에 ReplicaModel.php 를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
namespace App\Models;&lt;br /&gt;
use CodeIgniter\Database\ConnectionInterface;&lt;br /&gt;
use CodeIgniter\Model;&lt;br /&gt;
use CodeIgniter\Validation\ValidationInterface;&lt;br /&gt;
use Config\Database;&lt;br /&gt;
&lt;br /&gt;
class ReplicaModel extends Model{&lt;br /&gt;
    protected $DBGroup = &amp;#39;replica&amp;#39;;&lt;br /&gt;
    public function __construct(ConnectionInterface &amp;amp;$db = null, ValidationInterface $validation = null)&lt;br /&gt;
    {&lt;br /&gt;
        parent::__construct($db, $validation);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이렇게 하면 Replica와 Master를 나눠서 관리하 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
대신 상속을 해줘야해서 모델을 나눠서 관리해야하기 때문에 불편한데요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이럴 때를 위한 해답이 있습니다... 만 추천하지는 않습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
namespace App\Models;&lt;br /&gt;
use CodeIgniter\Database\ConnectionInterface;&lt;br /&gt;
use CodeIgniter\Model;&lt;br /&gt;
use CodeIgniter\Validation\ValidationInterface;&lt;br /&gt;
use Config\Database;&lt;br /&gt;
&lt;br /&gt;
class BaseModel extends Model{&lt;br /&gt;
    protected $validation = null;&lt;br /&gt;
    public function __construct(ConnectionInterface &amp;amp;$db = null, ValidationInterface $validation = null)&lt;br /&gt;
    {&lt;br /&gt;
        $this-&amp;gt;validation = $validation;&lt;br /&gt;
        parent::__construct($db, $validation);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function databaseToReplica()&lt;br /&gt;
    {&lt;br /&gt;
        $db = Database::connect(&amp;#39;replica&amp;#39;);&lt;br /&gt;
        parent::__construct($db, $this-&amp;gt;validation);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function databaseToMaster()&lt;br /&gt;
    {&lt;br /&gt;
        $db = Database::connect(&amp;#39;default&amp;#39;);&lt;br /&gt;
        parent::__construct($db, $this-&amp;gt;validation);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
선택은 여러분의 몫입니다. 감사합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Sat, 09 Oct 2021 09:04:02 +0900</pubDate>
                    <dc:creator>☞한빛★가람</dc:creator>
                </item>
                            <item>
                    <title>PHP 서킷브레이커, ganesha 구현 방법입니다.</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=22960</link>
                    <description>안녕하세요, 이현재입니다.&lt;br /&gt;
&lt;br /&gt;
PHP로 운영하던 서비스가 커져 MSA로 분리해야할 일이 있을 때 도입할 수 있는 라이브러리 중 하나입니다.&lt;br /&gt;
&lt;br /&gt;
고도화를 하려고 한다면 너 나은 방안도 있지만, 초기에는 이정도로 충분하지 않을까 싶네요.&lt;br /&gt;
&lt;br /&gt;
사내 기술블로그에 올려 링크로 공유드립니다.&lt;br /&gt;
&lt;br /&gt;
https://saramin.github.io/2020-12-21-php-circuit-breaker-ganesha</description>
                    <pubDate>Mon, 21 Dec 2020 10:51:48 +0900</pubDate>
                    <dc:creator>이현재</dc:creator>
                </item>
                            <item>
                    <title>[ 왕기초 ] GitHub  에서 Codeigniter 소스를 내려받자</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=22431</link>
                    <description>아주 아주&amp;nbsp;기초적인 내용이라&lt;br /&gt;
&lt;br /&gt;
아시는분은 그냥 Pass 하십시요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
기초적인 사항이라&lt;br /&gt;
&lt;br /&gt;
요점만 간단 명료하게&lt;br /&gt;
&lt;br /&gt;
아주 쉅게 작성 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
1.&amp;nbsp; &amp;nbsp;https://github.com/codeigniter4/CodeIgniter4&amp;nbsp; &amp;nbsp;사이트 접속&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
2.&amp;nbsp; &amp;nbsp;아래와 그림과 같이&amp;nbsp; 버젼을 확인합니다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; 현재 최신버젼은 v4.0.3&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
다른 확인방법&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
3.&amp;nbsp; 자신의&amp;nbsp; PC&amp;nbsp; 에서 소스를 내려 받아&amp;nbsp;생성할 상위 디렉토리로 이동&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; 예)&amp;nbsp; c:\temp&amp;nbsp; &amp;nbsp;&amp;lt;----------------&amp;nbsp; 여기서 소스를 내려 받으시면&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;결과는&amp;nbsp; &amp;nbsp;c:\temp\CodeIgniter4&amp;nbsp; 디렉토리가 생성되며&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;내려받은 소스가 존재&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
4.&amp;nbsp; &amp;nbsp;git&amp;nbsp; clone&amp;nbsp; &amp;nbsp;-b&amp;nbsp; &amp;nbsp;v4.0.3&amp;nbsp; &amp;nbsp;https://github.com/codeigniter4/CodeIgniter4.git&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; (&amp;nbsp; 설명 : 위의 2 번 에서 확인한&amp;nbsp; &amp;nbsp;v4.0.3&amp;nbsp; 글자를 입력&amp;nbsp; )&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;결과&amp;nbsp; :&amp;nbsp; &amp;nbsp;CodeIgniter4&amp;nbsp; 라는 디렉토리가 하위에 생김&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
5.&amp;nbsp; &amp;nbsp;내려받은&amp;nbsp; &amp;nbsp;CodeIgniter4&amp;nbsp; 디레토리로 이동&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
6.&amp;nbsp; &amp;nbsp;.git&amp;nbsp; &amp;nbsp;과&amp;nbsp; &amp;nbsp; .github&amp;nbsp; &amp;nbsp;디렉토리 삭제&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
7.&amp;nbsp; 로컬 PC 에 웹서버가 동작할 서버 셋팅 후 결과 확인&amp;nbsp; ( 서버 셋팅는&amp;nbsp; docker&amp;nbsp; 추천&amp;nbsp;&amp;nbsp;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
수고 하셨습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
(*)&amp;nbsp; &amp;nbsp;Relealse&amp;nbsp; 버젼&amp;nbsp; ( 안정 버젼 )&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
-&amp;nbsp; 아래 그림과 같이 숫자만 되어 있는 것이 안정 버젼입니다.&amp;nbsp; (&amp;nbsp; Beta 버젼 아님&amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
(*)&amp;nbsp; 여담&lt;br /&gt;
&lt;br /&gt;
VSCode&amp;nbsp; 에서&amp;nbsp; &amp;nbsp; Git&amp;nbsp; &amp;nbsp;History&amp;nbsp; 을 확인해보니, 엄청나게 많은분들이&amp;nbsp; 개발에 참가하고 계시더군요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Wed, 27 May 2020 15:00:01 +0900</pubDate>
                    <dc:creator>벤지</dc:creator>
                </item>
                            <item>
                    <title>php기초가 부족하신 분들에게.. 이 글을 추천해봄니다.</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=21546</link>
                    <description>안녕하세요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
예전에 코드이그나이터에서 jcoop로 활동하던 사람입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
오랜만에 와서, 아이디가 생각이 안나, 그냥 다시 만들었군요. php기초에 도움이 될것 같아, 적은 글들을 여기에다가 올려봄니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221595812282&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --1.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221596519964&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --2.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221596801903&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --3. ,form. 폼. 전송과 응답. request, response.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221596810689&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --4. database. 데이터베이스. MySQL소개.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221596815801&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --5. php와 데이터베이스의 연결(단순).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221596880744&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --6. 실제 연결. 가비아 웹호스팅 + 이클립스IDE.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://blog.naver.com/tt2t2am1118/221597582591&lt;br /&gt;
&lt;br /&gt;
[웹 프로그래밍] PHP + MySQL --7. PHP 클래스.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
여기까지 입니다. 공부하다보니, 코드이그나이터를 다시보게 되는 군요. 7번글을 적고난 후, 코드이그나이터를 하려고 하는 군요. php기초도 많은데, 도움이 될 것 같아 올려보네요.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
지식공유합시다~. 공부해 보아요~.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
글, 봐 주셔서 감사합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Sun, 28 Jul 2019 01:08:28 +0900</pubDate>
                    <dc:creator>jcoop2</dc:creator>
                </item>
                            <item>
                    <title>docker로 시작해 보는 swoole</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=21428</link>
                    <description>이전에 swoole 을 소개해 드렸습니다만 어떤건지 백문이 불여 일 코드 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
빠르게 스타트 해서 테스트해보는 docker 파일을 작성해 보았습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
docker는 당연히 설치 해서 실행 하셔야 하고..&lt;br /&gt;
&lt;br /&gt;
[참고&amp;nbsp;https://www.cikorea.net/bbs/view/lecture?idx=21043&amp;amp;lists_style=&amp;nbsp;]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
첨부된 해당 압축 파일을 해제 하시고&amp;nbsp; cmd 혹은 power sell 실행 해서 해당 압축 푼 폴더에서 해당 명령어 실행!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
docker-compose up -d&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
하시면 빠르게 구축 끝!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
샘플 파일은 app 폴더에 있습니다.&lt;br /&gt;
&lt;br /&gt;
컨테이너 접속 후 cd /app&lt;br /&gt;
&lt;br /&gt;
마운트 되어있어서 컨테이너 밖... [윈도우면 윈도우 상]&amp;nbsp;app 폴더에서 수정 하시면 컨테이너에도 적용됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
각각 http 서버와 tcp 서버와 클라이언트. 그리고 websocket 서버등이 올라가 있습니다.&lt;br /&gt;
&lt;br /&gt;
포트는 1024번으로 설정되어 있습니다.&lt;br /&gt;
&lt;br /&gt;
기본 이미지는 php-fpm 7.2 입니다.&lt;br /&gt;
&lt;br /&gt;
메뉴얼 및 레퍼런스는 공식 홈페이지에서 확인 !&lt;br /&gt;
&lt;br /&gt;
https://www.swoole.co.uk/#get-started&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
to enjoy ~</description>
                    <pubDate>Wed, 26 Jun 2019 16:33:24 +0900</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>docker로 CI 3.1.10 빠르게 시작 하기 [PHP 7.3 mysql 5.7 버전으로 시작하기]</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=21043</link>
                    <description>누구나 쉽고 간단 하게 시작 할수 있도록 준비 하였습니다 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
docker&lt;br /&gt;
&lt;br /&gt;
php 7.3&lt;br /&gt;
&lt;br /&gt;
mysql 5.7.25&lt;br /&gt;
&lt;br /&gt;
codeigniter 3.1.10&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
최신 버전으로 시작 가능한 패키지 !&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
우선 도커를 설치 뙇!&lt;br /&gt;
&lt;br /&gt;
https://hub.docker.com/editions/community/docker-ce-desktop-windows&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
가입하고 로그인한 다음에 다운로드 받아서 인스톨만&amp;nbsp;하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
물론 고래 모양의 아이콘으로 실행이 필수 이겠지요?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그런 다음 원하시는 폴더에 해당 압출 파일을 풉니다. [ci3.1.10_php7.3_mysql5.7_base.zip]&lt;br /&gt;
&lt;br /&gt;
폴더명과 위치를&amp;nbsp;c:\web_project 이라고 가칭 하죠.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
그러면&amp;nbsp;conf, web 폴더가 나오고 docker-compose&amp;nbsp; , Dockerfile 2개의 도커 파일이 나옵니다.&lt;br /&gt;
&lt;br /&gt;
윈도우 파워쉘을 오픈. [혹은 cmd ]&lt;br /&gt;
&lt;br /&gt;
cd&amp;nbsp;c:\web_project&amp;nbsp; 해당 폴더로 이동&lt;br /&gt;
&lt;br /&gt;
docker-compose up --build -d&amp;nbsp; [해당 도커 파일을 설치하라.]&lt;br /&gt;
&lt;br /&gt;
(설치이후 다시 기동할때&amp;nbsp; docker-compose up -d&amp;nbsp; &amp;nbsp;처음 시작 할때로 --build 옵션 빼고도 상관없음. --build 는 무조건 설치파일 확인 하는 옵션 입니다.)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
실행 하시면 기본적으로 설정을 잡아놓아서 안내 문구가 나타나실 것입니다!&lt;br /&gt;
&lt;br /&gt;
우선 [세션 테이블 생성 하기] 를 클릭해서 데이터베이스에 세션테이블을 생성 하세요!&lt;br /&gt;
&lt;br /&gt;
그리고 확인 하시면 끝!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
해당 툴을 다운 받아서 실행 하시면 현재 올라와 있는 도커 컨테이너가 보이실 것입니다 ㅎ&lt;br /&gt;
&lt;br /&gt;
https://kitematic.com/&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
포트 기본을 localhost:1024 로 잡아놓았습니다. 다른거랑 중복되지 않도록 말이죠.&lt;br /&gt;
&lt;br /&gt;
80으로 바꾸실거면 docker-compose 파일에서 port 를 변경 하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
apache 설정을 추가 하고 싶으시면 \conf\sites-enabled\000-default.conf 파일 수정 하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
빠르게 시작해 보는 묶음 패키지 입니다 !&lt;br /&gt;
&lt;br /&gt;
to enjoy ~&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Wed, 10 Apr 2019 15:55:43 +0900</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>[CI4 팁공유] 일단 무작정 켜보기 - Docker를 써서</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=20954</link>
                    <description>강좌라고 할 정도는 아니고 그냥 최근에 성공한 것을 팁 공유 차원에서 기록해 봅니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
다들 아시다시피 Codeigniter 4의 설치 요건은 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	PHP 버전: &amp;gt;= 7.2&lt;br /&gt;
	PHP 확장: php-json, php-mbstring, php-mysqlnd, php-xml, intl, libcurl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
다른 건 뭐 다 좋은데 PHP 버전이 좀 걸리는 분들이 있으실 겁니다. 최신 라라벨도 7.2까지는 요구하지 않는데... CI 4 맛좀 보자고 PHP 버전을 올리자니 좀 애매하죠.&lt;br /&gt;
&lt;br /&gt;
그래서 Docker를 이용해서 그냥 소스를 돌려 보는 것만 해보기로 했습니다.&lt;br /&gt;
&lt;br /&gt;
도커가 뭐냐는 것은 이 문서의 설명 범위 밖에 있고 제 능력이 일천하므로 과감히&amp;nbsp;생략합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
1. 일단 CI4를 Manual Installation을 합니다.&lt;br /&gt;
&lt;br /&gt;
https://codeigniter4.github.io/CodeIgniter4/installation/installing_manual.html&lt;br /&gt;
&lt;br /&gt;
공식 문서에 써 있는 대로 (아주 전통적인 방식으로) zip을 다운 받아 그대로 원하는 폴더에 풀어 줍니다.&lt;br /&gt;
&lt;br /&gt;
이제 CMD에서 php spark serve를 치면 이론상 PHP 내장웹서버가 돌아야 하지요. 하지만 PHP 버전이 7.1이나 그 이하라면 에러가 나고 작동을 안 할 겁니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
2. docker를 설치합니다.&lt;br /&gt;
&lt;br /&gt;
설치 과정은 운영체제별로 약간 다르니 생략합니다. 결과적으로, 커맨드창에서 docker info를 날렸을 때 뭐가 떠야 합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
3. docker-compose 환경을&amp;nbsp;생성합니다.&lt;br /&gt;
&lt;br /&gt;
https://phpdocker.io/generator&lt;br /&gt;
&lt;br /&gt;
이 사이트는 &amp;quot;전형적인 PHP 개발 환경&amp;quot;을 Docker 기반으로 짤 수 있게 파일을 만들어주는 사이트입니다.&lt;br /&gt;
&lt;br /&gt;
각 입력칸에 대해서 저는 이렇게 했습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Project Name: 영어로 된 적당한 이름&lt;br /&gt;
	Base Port: 8700 (*1025 이상의 정수여야 합니다.)&lt;br /&gt;
	Application Type: Generic (*기본값)&lt;br /&gt;
	Max Upload Size: 100 (*기본값)&lt;br /&gt;
	PHP Version: 7.3.x (*기본값)&lt;br /&gt;
	Extensions: Intl, GD&lt;br /&gt;
	Enable MySQL: No (*기본값)&lt;br /&gt;
	Enable MariaDB: Yes&lt;br /&gt;
	&lt;br /&gt;
		추가로 커넥션 설정값을 넣어줘야 합니다.&lt;br /&gt;
		어차피 docker 컨테이너 안에서만 만들어지는 DB이므로&amp;nbsp;아무렇게나 해줘도 됩니다.&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	Postgres, Elasticsearch, Zero-config Services: 안 건드림&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이렇게 하고 나서 Generate Project Archive를 누르면 zip 파일이 하나 떨어집니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
4. 생성한 docker-compose 환경을 설치한 CI에 설치합니다.&lt;br /&gt;
&lt;br /&gt;
먼저 1번 단계에서 수동 설치한 CI 소스의 루트에 zip 파일 압축을 풉니다.&lt;br /&gt;
&lt;br /&gt;
결과적으로 docker-compose.yml 파일과 spark 파일이 같은 위치에 오게 되고, 아마도 phpdocker 폴더가 프로젝트에 새로 생기게 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
이제 필요한 수정을 약간 합니다. phpdocker/php-fpm/php-ini-override.ini 파일을 까보시면 설정값이 달랑 두 줄 들어가 있습니다.&lt;br /&gt;
&lt;br /&gt;
다음과 같이 추가적으로 필요한 것들을 넣어줍시다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
date.timezone = Asia/Seoul&lt;br /&gt;
short_open_tag = On&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
5. Docker Compose를 실행하여 컨테이너를 띄웁니다.&lt;br /&gt;
&lt;br /&gt;
이제 docker-compose.yml 파일이 있는 위치에서 다음 명령을 실행합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
3번 단계에서 적당히 지어준 Project Name을 기반으로 한 mariadb, phpfpm, webserver 3개의 컨테이너가 뜨는 것을 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
이제 localhost:8700 으로 접속하면 CI 4 소스가 도는 것을 볼 수 있습니다(내 로컬에 PHP 7.2를 깔지 않았는데도 말이죠).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
파이썬에는 기본으로 딸려 있(다)는 virtualenv 같은게&amp;nbsp;PHP에는 없었는데, docker를 사용하면 간단히&amp;nbsp;프로젝트별 환경 구성을 다르게 해볼 수 있어서 좋은 것 같네요.&lt;br /&gt;
&lt;br /&gt;
좀더 CI 4를 살펴보면서.. 마이그레이션 사용하는 법이나 Entity 사용하는 법 같은걸 좀더 파볼 계획입니다. ^^</description>
                    <pubDate>Fri, 15 Mar 2019 14:30:30 +0900</pubDate>
                    <dc:creator>엽토군</dc:creator>
                </item>
                            <item>
                    <title>코드이그나이터 사용 가이드 part 1.1 [가이드 문서 첨부]</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=18097</link>
                    <description>안녕하세요 카이도 입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이번 동영상 강좌에는 저만의 유니크한 코딩 스타일로&amp;nbsp;페이지네이션 구축 방법을 소개 하도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
반드시 이게 정답은 아니니, 참고&amp;nbsp;해주시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
강의 내용에는 _remap, pagenation, _function, active_recode&amp;nbsp; 내용이 들어있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=zYqKcr42Ifw&amp;amp;feature=youtu.be&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
다음 &amp;nbsp;파트에서는&amp;nbsp;ajax 사용 방법과, CI에서 처리 방법을 같이 다루도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS 데이터베이스 설정은 알아서 변경해 주세요.&lt;br /&gt;
&lt;br /&gt;
로컬로 테스트 하기 위해 만들어진 정보이기에 개인 정보에 알맞게 바꿔주셔야 합니다.&lt;br /&gt;
&lt;br /&gt;
[정보 바꿔두기 귀찮....아요 ㅎㅎㅎ]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS2. 설치가 궁금 하신분은 요 밑에 게시물 참고해 주세요.&lt;br /&gt;
&lt;br /&gt;
http://www.cikorea.net/bbs/view/lecture?idx=17808&amp;amp;lists_style=&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
가이드 문서를 첨부 하였습니다.&lt;br /&gt;
&lt;br /&gt;
해당 문서는 올해 1월달에 PHP 개발자를 위해서 만든 간단한 가이드 문서입니다.&lt;br /&gt;
&lt;br /&gt;
조만간 part2 에서 한번 설명이 들어갈 예정입니다.</description>
                    <pubDate>Tue, 27 Jun 2017 18:12:22 +0830</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>php class - step5</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=17896</link>
                    <description>안녕하세요 &amp;nbsp;kaido 입니다.&lt;br /&gt;
&lt;br /&gt;
최근들어 php에서도 OOP 가 재차 조명이 되고 있어, OOP관련... 즉 class 다루는 법 동영상 강좌를 만들고 있습니다.&lt;br /&gt;
&lt;br /&gt;
[그냥 소소한 개인 취미 정도라고 생각해 주세요]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
최종목표는 class를 기가막히게 다루면서, 기가막힌 설계과 , 디자인 패턴~ 을 &amp;nbsp;목표로 으로 만드는건 아닙니다! [응?]&lt;br /&gt;
&lt;br /&gt;
최종 목표는 PSR 기준으로 코딩 하는 방법을 익히는게 목표입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
강좌내용은&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
extends [step 1 ~ 2]&lt;br /&gt;
&lt;br /&gt;
interface &amp;nbsp;[step 3~4]&lt;br /&gt;
&lt;br /&gt;
implements&amp;nbsp;[step 3~4]&lt;br /&gt;
&lt;br /&gt;
__construct [step5]&lt;br /&gt;
&lt;br /&gt;
trait [step 6]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
namespace&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
auto load&lt;br /&gt;
&lt;br /&gt;
PSR 6&lt;br /&gt;
&lt;br /&gt;
까지만 다룰예정입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
마지막은 PSR6 구성하고, 기존에 만들어진 라이브러리를 집어 넣어서 사용하는 방법까지 강의 할 예정입니다.&lt;br /&gt;
&lt;br /&gt;
[카카오페이를 가지고 만들 예정]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
강좌 영상입니다.&lt;br /&gt;
&lt;br /&gt;
step 1&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=NmnskbvBxzE&lt;br /&gt;
&lt;br /&gt;
step 2 [extends]&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=tqSoU9KWPqo&lt;br /&gt;
&lt;br /&gt;
step 3 [intreface. ::]&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=0iq1hxzwW2Y&lt;br /&gt;
&lt;br /&gt;
step 4 &amp;nbsp;[interface part2]&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=lYiypbYZ00Q&lt;br /&gt;
&lt;br /&gt;
step 5 &amp;nbsp;[__construct and multi extends]&lt;br /&gt;
&lt;br /&gt;
https://youtu.be/ZDvRv6wMEho&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
step 6&lt;br /&gt;
&lt;br /&gt;
coming soon...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS. 타이핑한 자료는 계속 업데이트 됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Fri, 09 Jun 2017 20:01:38 +0830</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
                            <item>
                    <title>codeigniter 설치 및 hmvc 적용 방법</title>
                    <link>http://www.ww.cikorea.net/bbs/view/lecture?idx=17808</link>
                    <description>코드이그나이터 압축 파일을 다운 받고 간단한 설정 및 hmvc 적용 방법 입니다.&lt;br /&gt;
&lt;br /&gt;
입문 하시는 분들을 위해서 영상을 찍어 보았습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
파트 1&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=yiTNgzBvN8A&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
파트2&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=6ZhLe0dql-A&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
동영상에 사용된 코드는 타이핑 하지 마시고 가져다 쓰세요~&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//컨피그설정&lt;br /&gt;
config.php&lt;br /&gt;
$config[&amp;#39;permitted_uri_chars&amp;#39;] = &amp;#39;가-힣 a-z 0-9~%.:_\-\@&amp;#39;;&lt;br /&gt;
&lt;br /&gt;
$config[&amp;#39;sess_table_name&amp;#39;] = &amp;#39;ci_sessions&amp;#39;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//database table&lt;br /&gt;
CREATE TABLE `ci_sessions` (&lt;br /&gt;
  `id` varchar(40) NOT NULL,&lt;br /&gt;
  `ip_address` varchar(45) NOT NULL,&lt;br /&gt;
  `timestamp` int(10) unsigned NOT NULL DEFAULT &amp;#39;0&amp;#39;,&lt;br /&gt;
  `data` blob NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `ci_sessions_timestamp` (`timestamp`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//인덱스 죽이기... 파일 위치는 루트에 넣는다&lt;br /&gt;
.htaccess  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;br /&gt;
 RewriteEngine On&lt;br /&gt;
 RewriteBase /&lt;br /&gt;
 RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)&lt;br /&gt;
 RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
 RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;
 RewriteRule ^(.*)$ /index.php/$1 [L]&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//controller 파일 기본 &lt;br /&gt;
&amp;lt;? if (!defined(&amp;#39;BASEPATH&amp;#39;)) 	exit(&amp;#39;No direct script access allowed&amp;#39;);&lt;br /&gt;
&lt;br /&gt;
class Test extends CI_Controller {&lt;br /&gt;
	&lt;br /&gt;
	function __construct() &lt;br /&gt;
    {&lt;br /&gt;
        parent::__construct();     &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS1. hmvc 파일 은 요 밑 게시판에 있어서 다시 업로드 하진 않았습니다.&lt;br /&gt;
&lt;br /&gt;
링크 참고~&lt;br /&gt;
&lt;br /&gt;
http://www.cikorea.net/bbs/view/lecture?idx=17433&amp;amp;lists_style=&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
PS2. 로컬에 개발 환경 구축 부터 시작 하실 분들은 아래 영상을 참고해 주세요&lt;br /&gt;
&lt;br /&gt;
xampp 설치&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=LqW_osfgF5M&amp;amp;t=449s&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
xampp 설치되어 있는 mysql 접속 방법&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=oe1EBWGlUcQ&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description>
                    <pubDate>Sat, 03 Jun 2017 01:10:07 +0830</pubDate>
                    <dc:creator>kaido</dc:creator>
                </item>
            </channel></rss>