https://code.google.com/archive/a/apache-extras.org/p/phpmailer    다운로드


<?php


use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\Exception;


require_once('./lib/PHPMailer-master/src/Exception.php');

require_once('./lib/PHPMailer-master/src/PHPMailer.php');

require_once('./lib/PHPMailer-master/src/SMTP.php');


$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch


$mail->IsSMTP(); // telling the class to use SMTP


try {


    $mail->Host = "smtp.gmail.com"; // email 보낼때 사용할 서버를 지정

    $mail->SMTPAuth = true; // SMTP 인증을 사용함

    $mail->Port = 465; // email 보낼때 사용할 포트를 지정

    $mail->SMTPSecure = "ssl"; // SSL을 사용함

    $mail->Username   = "test@gmail.com"; // Gmail 계정

    $mail->Password   = "password"; // 패스워드

    $mail->SMTPDebug = 2;

    $mail->CharSet = "utf-8";  //한글깨짐 방지를 위한 문자 인코딩설정

    $mail->SetFrom('test@gmail.com', 'TESTER'); // 보내는 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

    $mail->AddAddress('test@naver.com', '받는사람'); // 받을 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

    $mail->Subject = 'Email test'; // 메일 제목

    $mail->MsgHTML("mail test"); // 메일 내용 (HTML 형식도 되고 그냥 일반 텍스트도 사용 가능함)


    $mail->Send();


    echo "Message Sent OK";


}catch (phpmailerException $e) {

    echo $e->errorMessage(); //Pretty error messages from PHPMailer

} catch (Exception $e) {

    echo $e->getMessage(); //Boring error messages from anything else!

}

 ?>



// 페이지 네이션

$cnt = (!empty($res->num_rows))?$res->num_rows:"0";  //총 행의 수

$display = 10;          //한페이지에 보여질 데이터의 수

$block_page = 10;       //한 페이지블록에 보여질 페이지 수


$total_page = ceil($cnt/$display);        //총페이지의 수

$total_block = ceil($total_page/$block_page);        //총블록 수


$now_page = (!empty($_REQUEST['page'])?$_REQUEST['page']:1);

$now_block = ceil($now_page/$block_page);


$start_page = $now_block*$block_page - ($block_page-1);

if($start_page <= 1){

    $start_page = 1;

}


$end_page = $now_block*$block_page;

if($end_page >= $total_page){

    $end_page = $total_page;

}


$qry = "SELECT rp.*,tp.sale_whole,tp.name,tp.sale_rate,tp.real_price

        FROM rose_shop.tqi_product AS rp

      

        LIMIT ".(($now_page-1)*$display).",".$display;


<div class="container">

            <form class="myform" action="<?php echo $_SERVER['PHP_SELF']?>" method="GET">

                <input type="hidden" name="page" value="">

            </form>

            <nav style="text-align:  center;">

                <ul class="pagination">

                    <li>

                        <a href="javascript:void(0);" onclick="page(1)" aria-label="Previous">

                            <span aria-hidden="true">&laquo;</span>

                        </a>

                        <a href="javascript:void(0);" onclick="page(<?php echo ($start_page<=1?1:$start_page-1);?>)" aria-label="Previous">

                            <span aria-hidden="true">이전</span>

                        </a>

                    </li>

            <?php

            for ($i=$start_page; $i <= $end_page; $i++) {

            ?>

                    <li><a href="javascript:void(0);" onclick="page(<?php echo $i;?>)" <?php if($now_page == $i)echo "style='color:red'";?>><?php echo $i;?></a></li>

            <?php

            }

             ?>

                    <li>

                        <a href="javascript:void(0);" onclick="page(<?php echo ($end_page>=$total_page?$total_page:$end_page+1);?>)" aria-label="Next">

                            <span aria-hidden="true">다음</span>

                        </a>

                        <a href="javascript:void(0);" onclick="page(<?php echo $total_page;?>)" aria-label="Next">

                            <span aria-hidden="true">&raquo;</span>

                        </a>

                    </li>

                </ul>

            </nav>

        </div>


function page(i) {

        $("input[name=page]")[0].value = i;

        $('.myform')[0].submit();

    }

php를 이용하여 file을 로컬저장소에 저장하기



간단한 예제 소스입니다.

<?php $file_name = 'msg.txt'; // 저장될 파일 이름 $file = './text/msg.txt'; // 파일의 전체 경로 header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $file_name . '"'); header('Content-Transfer-Encoding: binary'); header('Content-length: ' . filesize($file)); header('Expires: 0'); header("Pragma: public"); $fp = fopen($file, 'rb'); fpassthru($fp); fclose($fp); ?>


사용법은 위의 소스코드를 file_down.php 등의 파일로 만들어 두고 

버튼이나 <a> 태그로 눌렀을때 file_down.php 로 이동하게 만들면 화면은 로드되지 않고 바로 파일 다운을 실행합니다.




디렉토리는 이렇게 구성하였습니다. 'text' 폴더안에 msg.txt 파일이 존재합니다.


test.php 에는 file_down.php 를 실행하기 위한 <a>태그만 하나 만들어줍니다.



링크를 누르게 되면 file_down.php 를 실행하게 되고 자동으로 파일이 지정된 폴더로 다운로드 되게 됩니다.



저장 폴더위치는 브라우저 설정에서 변경 할 수 있으며 '크롬' 의 경우 chrome://settings/  -> 고급 -> 다운로드에서 위치를 변경하면 됩니다.



in_array("찾을 값", 배열)

첫번째 인자로 들어온 값을 두번째 인자 배열안에서 찾고 찾으면 true 아니면 false 를 반환




<?php

$array = array("빨강","주황","노랑","초록","파랑","남색","보라");


if(in_array("빨강",$array)){

    echo "빨강은 '무지개색' 입니다.";

}


echo "<br>";


$color = "핑크";


if(!in_array($color,$array)){   //배열에서 '핑크'는 없기때문에 false 를 반환합니다. ! 으로 부정을 취해 if문 실행

    echo $color."는 '무지개색' 이 아닙니다.";

}

?>




ucfirst("문자열" or 변수)

반환값은 ucfirst의 인자로 입력한 문자열의 '첫글자'를 대문자로 변경한 문자열이 반환됩니다.




<?php

$str = "aBCDEFG";


echo $str;  //ucfirst 를 사용하지않은 상태

echo "<br>";


echo ucfirst($str);  //변수 $str을 인자로 ucfirst를 사용

echo "<br>";


echo ucfirst("hello");  //ucfirst의 인자로 문자열 사용

echo "<br>";


$str = ucfirst("world"); //ucfirst의 반환값을 변수에 담아 출력

echo $str;

echo "<br>";

?>






<?php

$mysqli = new mysqli('127.0.0.1', 'root', '******', 'DB명');


header( "Content-type: application/vnd.ms-excel; charset=utf-8");

header( "Content-Disposition: attachment; filename = excel_test.xls" );     //filename = 저장되는 파일명을 설정합니다.

header( "Content-Description: PHP4 Generated Data" );


//엑셀 파일로 만들고자 하는 데이터의 테이블을 만듭니다.


$EXCEL_FILE = "

<table border='1'>

    <tr>

       <td>사용자ID</td>

       <td>이름</td>

       <td>성</td>

       <td>E-mail</td>

       <td>Phone</td>

    </tr>

";


$qry = "SELECT * FROM `컬럼명` LIMIT 20";

$res = $mysqli->query($qry);


// DB 에 저장된 데이터를 테이블 형태로 저장합니다.


while ($row = $res->fetch_object()) {

$EXCEL_FILE .= "

    <tr>

       <td>".$row->사용자ID."</td>

       <td>".$row->이름."</td>

       <td>".$row->성."</td>

       <td>".$row->E-mail."</td>

       <td>".$row->Phone."</td>

    </tr>

";

}


$EXCEL_FILE .= "</table>";


// 만든 테이블을 출력해줘야 만들어진 엑셀파일에 데이터가 나타납니다.


echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";

echo $EXCEL_FILE;

?>




위에 PHP 파일이 저장된 루트 URL로 접속시 바로 파일저장 팝업이 뜨고 파일저장 후 

엑셀파일을 실행시키면 데이터가 잘 저장된 것을 확인 할 수 있습니다.



header 부분은 데이터를 엑셀파일로 내보내는 형식을 지정하며 

하단에 <meta> 태그는 엑셀파일에서 출력되는 데이터의 타입을 지정합니다. 

두가지 부분은 필수!! 



+ Recent posts