include, require  , _once

- 쓰임: 보통 footer나 header와 같이 여러 페이지에서 반복적으로

사용되는 페이지를 불러올 때 사용한다.

- 코드

<? 
include "menu.php";
?>

 

 

- include와 require은 오류나 강도의 차이가 있을 뿐 비슷한 역할이고,

- 뒤에 _once를 붙이면 그 코드에서 한 번만 실행된다.

 

 

 

 

 

 

자잘한 정보

- number_format([숫자])  : 괄호안의 숫자를 천 단위로 콤마 찍어서 반환한다.

 

global $i // 해당 스코프 밖에 있는 글로벌 변수 사용한다.

 

 

 

 

 

 

두 개의 파일에서 함수를 불러올 때

- 만약, 함수명이 같고 그걸 불러올 시 겹치니까 에러가 발생한다.

 

해결법) namespace [이름]; 으로 구분해준다.

- 해당 파일을 사용해주려면 [이름]\(역대쉬)함수명으로 사용한다.

//함수1

namespace [이름];

function add (){
return $a+$b;
}

//호출형 파일

echo [이름]\add();

 

 

 

 

 

사진과 같은 파일을 보내줄 때

- 보내기 - 인코딩되지 않은 상태로 보내야만 한다.

<form action="3_.php" method="post" enctype="multipart/form-data">

<input type="file" name="test">
<input type="submit" value="업로드">

</form>

 

 

 

-받기 

<? 
// phpinfo();
// $_FILES['test']	
// Array
// (
//     [name] => Amphibia.png
//     [full_path] => Amphibia.png
//     [type] => image/png
//     [tmp_name] => C:\xampp\tmp\phpE415.tmp
//     [error] => 0
//     [size] => 124751
// )

echo $_FILES['test']['name'];
$now= date("YmdHis");

move_uploaded_file($_FILES['test']['tmp_name'], "./data/".$now);
  • phpinfo(); 에서 어떤 식으로 데이터가 받아오는지 확인하고 사용해준다.
  • 보통 tmp_name 으로 실제 경로로 파일이 업로드된다.
  • 보안상 이름을 변경해서 업로드 해준다.
  • move_uploaded_file() 로 그 위치에 파일을 옮긴다.

 

 

 

 

 

 

 

참조

https://www.tcpschool.com/html-tag-attrs/form-enctype

 

'IT > PHP' 카테고리의 다른 글

[PHP] 메모장 활용해서 데이터 주고 받기  (0) 2023.11.12
[PHP] 기본 문법과 사용  (0) 2023.11.12
[PHP] 기본 세팅  (1) 2023.11.12

파일 불러서 띄어주기

 

- file() 로 불러온걸 $list에 저장해주면, 각 줄이 0인덱스 부터 차례로 저장된다.

- , (콤마)로 구분되어 있고, 여러줄이 반복되어 있는데

- explode() 를 사용해주어 각각 배열로 나눠준다.

- 해당 배열의 원소를 foreach문을 이용해 사용한다.

<?

    $list = file("1.txt");
// 행을 기준으로 배열로 나눠서 저장

    ?>

    <table border="1" width="800">
        <tr>
            <td>이름</td>
            <td>제목</td>
            <td>내용</td>
        </tr>
        <?
        foreach ($list as $a) {
            $i = explode(",", $a);
        ?>
// split("") 과 비슷
            <tr>
                <td><?= $i[0] ?></td>
                <td><?= $i[1] ?></td>
                <td><?= $i[2] ?></td>

            </tr>

        <? } ?>
    </table>


// 1.txt 내용
홍길동1,test,동해물과 백두산이 마르고 닳도록
홍길동2,test,동해물과 백두산이 마르고 닳도록
홍길동3,test,동해물과 백두산이 마르고 닳도록
홍길동4,test,동해물과 백두산이 마르고 닳도록
홍길동5,test,동해물과 백두산이 마르고 닳도록
홍길동6,test,동해물과 백두산이 마르고 닳도록
홍길동7,test,동해물과 백두산이 마르고 닳도록

 

 

 

 

 

 

 

 

 

 

 

 

 

문서 만들고, 쓰고, 추가하고 닫고

 

 

- fopen("파일명", "모드");    // r w a 는 각각 read write add 이다.

: 해당명으로된 파일을 생성해준다. 이미 있으면 패스

 

- fopen()으로 열고

- fread()로 몇 개의 텍스트를 지정하고 읽어준다.

- fclose()를 마지막에 닫아준다.

// fopen()  //r,w,a 중 하나
// fputs , fwrite  // 둘 중 하나 사용
// fclose  // 닫기


// $new= fopen("1.txt","a");
// fwrite($new,"동해물과 백두산이\r\n");
// fclose($new);
$new= fopen("1.txt", "r");
$a= fread($new, 1000);
echo $a;
fclose($new);

 

- 실제 현재 디렉토리에 파일이 생성된다.

 

 

 

 

 

 

 

메모장 만들고 기록하고 테이블로 띄우기

 

- memo.php

- form action으로 다른 파일에 폼의 내용을 보내준다.

- memo.txt의 내용이 있을 시 내림차순으로 5개만 테이블로 띄어준다.

<!-- memo.php --!>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>메모장</title>
</head>

<body>
    <form action="memoSave.php">
        <div style="text-align: center;">
            <table border="1" align="center">

                <tr>
                    <td>이름</td>
                    <td><input type="text" name="name"></td>
                </tr>
                <tr>
                    <td>이메일</td>
                    <td><input type="text" name="email"></td>
                </tr>
                <tr>
                    <td>내용</td>
                    <td><input type="text" name="contents"></td>
                </tr>
            </table>
            <input type="submit" value="저장">
        </div>
    </form>


    <table border="1">
        <tr>
            <td>NO.</td>
            <td>이름</td>
            <td>이메일</td>
            <td>내용</td>
            <td>저장일시</td>
        </tr>

        <?

        $count = 0;
        $f = file("memo.txt");
        $reversedList = array_reverse($f);

        foreach ($reversedList as $i) {
            $data = explode("###", $i);
            if($count>=5) break;
        ?>


            <tr>
                <td><?= $count+1; ?></td>
                <td><?= $data[0] ?></td>
                <td><?= $data[1] ?></td>
                <td><?= $data[2] ?></td>
                <td><?= $data[3] ?></td>

            </tr>
        <? $count++;
        }  ?>


    </table>

    <?



    ?>


</body>

</html>

 

 

 

 

- memoSave.php

- date() 로 연월일 시간 으로 생성일자를 만들어주고 (기준점이 다르기에 시간이 다를 수 있으며, 조정이 필요하다.)

- $_REQUEST로 해당 값으로된 값을 받아주고 "###" 으로 나눈후 각각 . 으로 이어준다.

- "\r\n" 은 한 줄 띄우는걸 의미한다.

- $content 값을 메모장에 기록해둔다.

- 그런후 location.href= "" 로 해당 파일로 다시 이동해준다.

<?
// memoSave.php

$now = date("Y-m-d H:i:s");

$content = $_REQUEST["name"] . "###" . $_REQUEST["email"] . "###" . $_REQUEST["contents"] . "###".$now."\r\n";
$fp = fopen("memo.txt", "a");
fwrite($fp, $content);
fclose($fp);

?>
<script>
    location.href = "memo.php";
</script>

 

 

 

 

- memo.txt

ds###ds###dsd###2023-11-11 09:21:58
fdafas###fdsaf###dsafas###2023-11-11 09:26:50
fdafsafasd###fafdsaf###afa###2023-11-11 09:26:54
fdafas###fdasf###asfdsafd###2023-11-11 09:26:57
dsa###ada###dsada###2023-11-11 09:31:44
sdadsa###dad###s해결adad###2023-11-11 09:31:46
dsada###dad###adsa###2023-11-11 09:31:51
fdaf###safdas###fasf###2023-11-11 09:32:04

 

 

결과값

'IT > PHP' 카테고리의 다른 글

[PHP] include, require, 파일 전송  (0) 2023.11.12
[PHP] 기본 문법과 사용  (0) 2023.11.12
[PHP] 기본 세팅  (1) 2023.11.12

기본 형식

 

- 기본적으로 <?php ?> 안에다 사용한다.

- 세미클론으로 문장을 마무리한다.

- echo 뒤에것을 화면에 띄어준다.

<?php

echo "Hi";  

?>

 

 

 

- 배열은 print_r() 로 띄어준다.

- a[]= 1; 시   마치, JS에서의 push() 효과처럼
- 배열안에 해당 원소를 마지막 인덱스 뒤에 넣어준다.

<?


$a[]=1;
$a[]=1;
print_r($a);


?>

 

결과

 

 

 

- foreach를 사용하여 리스트를 하나씩 사용할 수 있다.

- $key는 각 인덱스를 뜻하며, 선택적으로 사용할 수 있다.

- $b가 해당 값이다.

<?

$a= [12,23,34];

foreach($a as $key=> $b){
    echo $key;
    echo ":";
    echo $b;
    echo "<br>";
}

?>

 

 

 

 

 

- phpinfo()는 사용된 변수나 여러 정보를 알 수 있다.

- 예를들면, 쿠키 정보를 setCookie("변수명","값");

- 하거나 세션을 등록해도,  들어간 정보를 알 수 있고, 어떻게 사용하는지도 적혀있다.

<?

// php환경변수
phpinfo()

?>

 

 

 

 

 

 

이중 배열값 띄어주기

 

- 마치 object 형식으로 배열에 키, 값 형식으로 넣어줄 수 있다.

<?
$list = array();

$a["name"]= "홍길동";
$a["subject"]= "안녕하세요";
$a["memo"]= "안녕하세요";

$list[]= $a;

$a["name"]= "김철수";
$a["subject"]= "안녕하세요";
$a["memo"]= "안녕하세요";




$list[]= $a;

print_r($list);

?>

// 결과
Array
(
    [0] => Array
        (
            [name] => 홍길동
            [subject] => 안녕하세요
            [memo] => 안녕하세요
        )

    [1] => Array
        (
            [name] => 김철수
            [subject] => 안녕하세요
            [memo] => 안녕하세요
        )

)

 

 

 

 

 

 

 

테이블에 배열 값 띄우기

 

- php 구문에서만 php문법을 사용할 수 있기에

- HTML과 같이 사용시, 혼합해서 사용시 php구문을 추가로 작성 해준다.

  

<?
    $list = array();

    $a["name"] = "홍길동";
    $a["title"] = "안녕하세요";
    $a["contents"] = "hi";

    $list[] = $a;

    $a["name"] = "김문수";
    $a["subject"] = "안녕하세요";
    $a["memo"] = "안녕하세요!!";

    $list[] = $a;

    ?>

    <table border="1" width="800">
        <tr>
            <td>이름</td>
            <td>제목</td>
            <td>내용</td>
        </tr>

        <? foreach ($list as $i) {
        ?>
            <tr>
                <td><?= $i["name"]; ?></td>
                <td><? echo $i["title"]; ?></td>
                <td><?= $i["contents"]; ?></td>

            </tr>

        <? }   ?>
    </table>

 

 

 

결과값

 

 

 

 

 

 

'IT > PHP' 카테고리의 다른 글

[PHP] include, require, 파일 전송  (0) 2023.11.12
[PHP] 메모장 활용해서 데이터 주고 받기  (0) 2023.11.12
[PHP] 기본 세팅  (1) 2023.11.12

Xampp 설치

- Apache + PHP + mySql 을 사용할 수 있게 하는 크로스 플랫폼인 "Xampp" 를 설치해준다. 

 

 

 

 

 

- VS 환경에서 더 편리하게 사용해주기 위해서 extensions을 설치해준다.

 

 

 

 

추가 설정

- 설치 후 실행 하면 이런 화면 이 뜨는데, Apache를 실행 후,
https://127.0.0.1/ 를 주소창에 입력하면 미리 설치된 index.php가 실행돼서 시작 화면이 뜨게 된다.

 

 

 

- Apache-> Config -> 맨 위를 클릭하면,

- 여러 환경이 뜨는데 

 

 

- 루트 작업 폴더 경로가 뜨게 된다.

- 이 폴더에 작업할 폴더를 생성시켜주면 된다.

 

 

 

 

 

편의상의 설정

- C://xampp/php/php.ini 를 열어준 뒤,

-short_open_tag = Off -> On  해주면,

 

 

 

 

- 원래 기존 php문법에서는 php 코드를 쓰려면,

<?php  ?> 형태에 코드를 담아야 하지만,

더 간략하게 표현 가능하다.

<?php 
// 기존

?>


<?
// 변경 후 가능

?>

 

 

 

 

 

Apache, mysql

- Apache재단에서 만든 HTTP서버이며, 웹 호스팅을 해준다.

 

-mysql도 xampp에서 "start"를 누른 후 "Admin"을 클릭하면

 

"phpMyAdmin"이 나오고 이걸로 DB작업을 해준다.

 

 

 

 

 

 

PHP 공식 문서

http://php.net 

'IT > PHP' 카테고리의 다른 글

[PHP] include, require, 파일 전송  (0) 2023.11.12
[PHP] 메모장 활용해서 데이터 주고 받기  (0) 2023.11.12
[PHP] 기본 문법과 사용  (0) 2023.11.12

+ Recent posts