WEB2 - PHP

PHP 함수의 사용

수업의 목적

함수의 사용자로서 함수가 무엇인가? 함수를 어떻게 사용하는가? 필요한 함수를 어떻게 찾을 수 있는가를 살펴보는 시간입니다. 

 

 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>function</title>
  </head>
  <body>
    <h1>function</h1>
    <?php
    $str = "Lorem ipsum dolor sit amet, consectetur adipisicing elit.


    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
    echo $str;
     ?>
     <h2>strlen()</h2>
     <?php
     echo strlen($str);
      ?>
      <h2>nl2br</h2>
      <?php
     echo nl2br($str);
       ?>
  </body>
</html>

 

 

변경사항 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <h1>WEB</h1>
    <ol>
      <li><a href="index.php?id=HTML">HTML</a></li>
      <li><a href="index.php?id=CSS">CSS</a></li>
      <li><a href="index.php?id=JavaScript">JavaScript</a></li>
    </ol>
    <h2>
      <?php
        echo $_GET['id'];
      ?>
    </h2>
    <?php
    echo file_get_contents("data/".$_GET['id']);
     ?>
  </body>
</html>

 

댓글

댓글 본문
  1. AFSPA
    안녕 하세요,
    생활 코딩 덕분에 배움의 즐거움을 느껴가는 한 노년 입니다.

    문의 드리고 싶은 것은 PHP 8-1의 수업 중 하기와 같이 코드를 똑 같이 입력했는데도 줄 바꿈이 반영이 되지 않습니다.

    한 가지 특이점은 ATOM에서 입력 중 모든 $가 변수 값과 같이 빨강 색으로 변하지 않고 흰색으로 표시 된다는 점입니다. 즉 수업 내용 상에 입력되는 $와 변수 값은 모두 동일하게 빨강 색으로 표현되나 이상하게 $만 흰색으로 표시 됩니다.

    이는 parameter 수업 중 $_GET 에서도 나타난 현상으로 명령 입력 뒤 반영이 되지 않다 몇 번 리 로딩 하다 보니 반영 되었던 경우도 있었습니다.(아직 그 이유를 알지 못합니다)

    도움 주시면 고맙겠습니다.

    <!doctype html>
    <html>
    <head>
    <title>function></title>
    </head>
    <body>
    <h1>Function</h1>
    <?php
    $str="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
    echo $str;
    ?>
    <h2>strlen()</h2>
    <?php
    echo strlen($str);
    ?>
    <h2>nl2br</h2>
    <?php
    echo nl2br($str);
    ?>
    </body>
    </html>
  2. 드림보이
    수강완료했습니다...
  3. 2021.7.5
  4. chimhyangmoo
    21.05.16
  5. 감사합니다
  6. 21-04-25
  7. jeisyoon
    2021.04.12 Function - OK
  8. doooooo
    0410이네
  9. hanel_
    21.2.8 함수의 활용 이전까지.
  10. 장군
    많이 써본놈이 잘만든다 01/24
  11. kkn1125
    21.01.04.월 완료~!
  12. 돌돌시레
    이고잉님 코드를 복사해도 오류가 떠서 이유를 찾아보았더니 데이터 안의 파일 확장자를 html로 만들어서 그랬더라구요. 덕분에 새로운 것들 잘 알아갑니다 감사해요~!
  13. ZungTa
    초반에 환경 설정 변경 부분에 관련 내용이 있는걸로 기억합니다.
    대화보기
    • 유상수
      안녕하세요 따라하다가 어려운 점이 있어서 질문 남깁니다.

      에디터에 작성을 하고 127.0.0.1/index.php 를 새로고침하면 변경이 바로 되지않고

      1~2분정도 있다가 변경(적용)됩니다.

      어떻게 해야 바로 변경이 될 수 있을까요

      도움이 필요합니다.
    • 윤지
      확인
    • 111pixel
    • 1stclasscitizen
      2020.11.02
    • クレヨンしんちゃん
      -ㅅ-
    • psyless
      20200725
    • hpyseun
      05/26/2020 감사합니다
    • 이서연
      완료
    • 요즘 생활코딩 강의 하루에 100개씩 듣는것 같아요...
      완료! 2020.5.8
    • 아자요
      HTML, Java Script 완강 후 새로운 도전시작

      20.05.01일 / 완료

      완료라고 쓰긴 하지만 한번에 익숙치 않은 내용을 들으니 헷갈리네요..ㅎㅎ
      이해 될 땐 엄청 기쁜데.. 다시 한 번씩 더 들어봐야겠어요.. 항상 감사합니다!
    • OneJae EE
      20.04.06 월 / 37세 비전공자 / 완료
    • ArcTempest
      완료!
    • 스티븐잡숴
      완료
    • 김펭구
      감사합니다
    • 박주원
      저는 data/html로 저장을 할수가없네요.
    • moon
      항상 감사합니다.!!
    • 지나가는 행인
      html 파일에서 html의 명령어를 단축으로 사용할 수 있는 프로그램(?)이 적용됩니다. 하지만 data/CSS 파일에서는 html파일이 아닌 단순한 text 파일이므로 html명령어 단축 프로그램이 실행되지 않는 겁니다.
      대화보기
      • 삥삥삥
        /data/css 파일에서는 lorem 작동하지 않네요??
      • 노예
        1년 전 댓글이지만 이런 의문이 있는 분들이 있을 것 같아 댓글답니다.

        컴터는 따옴표로 감싸면 그냥 그대로 문자열 데이터로 인식하고,
        없으면 다른 데이터인지 체크합니다.

        만약에 "data/".$_GET['id'] 을

        1. echo "data/$_GET['id']";
        따옴표로 모두 감싸버리면 data/".$_GET['id'] 문자 그대로 출력합니다. string 데이터로 인식하기 때문이죠.
        (근데 컴퓨터는 사실 더 똑똑해서 string안에 변수가 있는 것 같으면 이게 도대체 뭐지? 에러를 내버립니다.)

        2. ehco data/$_GET['id'];
        모두 따옴표를 떼버리면 data/ <- 이부분은 컴퓨터가 인식하지 못해 에러가 납니다.

        왜 그렇게 쓸까 계속 실험해보며 익히는 것이 좋습니다.
        대화보기
        • 햄쮸맨
          상황에 맞는 함수 선택하는게 정말정말 중요하다는 걸 이번에 깨달았습니다요.헤헤.
        • 햄쮸맨
          강의 멈춰놓고 검색해서 fopen으로 하나? fopen에서 경로명에 변수받는 $_GET['id']을 집어 넣으려면 어떻게 하는거지?막 이런식으로 직접 고민하고 해결하려고 발버둥 치니까 엄청 재미있네요! 헤헤!
        • 햄쮸맨
          와 강의 중간에 멈춰놓고 파일 디렉토리에 어떻게 $_GET['id']를 집어넣지..하고 계속 고민했는데 . 으로 결합해주면 되는군요!!!!!!!!!!!!완전 대박발견!!!!!!!!!!!!!!
        • 몽글몽글솜사탕
          감사합니다
        • 널푸른
          좋은 강의 정말 감사드립니다.
          질문은
          php에서 id값을 사용하여 문자는 가져올수 왔는데
          사진이나 별도의 웹페이지를 id값을 사용해서 첨부 할수 없나요 ?
        • 허공
          190507 감사합니다.
        • 지미츄
          감사합니다
        • johnAhn
          감사합니다.
        • 헨도
          완료했씁니다.
        • 수박바
          따옴표안의 값('data/')은 변하지 않지만 $_GET['id'] 값은 변수이기 때문에 따움표를 쓰지 않습니다.
          이건 이해하기 보다 그냥 이렇다고 알고 있는 수밖에..
        • 웅이
          답변 감사합니다 !
          .을 쓰는 이유는 알겠습니다만, 왜 따옴표를 전체로 안하고 따로 쓰는지가 질문의 요지였는데요,
          $_GET['id'] 는 배열이고, "data/" 는 문자열이라서 그렇다는 말씀이신가요?
          근데 echo $_GET['id']을 하면 배열의 형태가 아니라 문자로만 출력이 되었었는데,
          그래도 $_GET['id'] 형태가 배열이라 문자열과 구분해준다고 생각하면 맞을까요?
          대화보기
          • SH89
            file_get_contents() 괄호안의 인자로 string이 들어가는데
            $_GET['id']는 string이 아니기 때문에 string을 연결하는 연산자인 . 로 연결한것 으로 보입니다.
            대화보기
            • Gihoon Pomme Ryu
              완료. 고맙습니다.
            • 웅이
              ("data/".$_GET['id']);에서 왜 "data/" 만 따옴표로 감싸져있나요 ?
              괄호안의 문법 해석 좀 부탁드립니다 ㅠ
            • 로버트한
              잘 보았습니다. 감사드려요^^
            • 심혜원
              nl2br 반영이 안됩니다. 위에 스크립트를 br ,p 태그 없이 문단 띄어쓰기가 되고요 ㅠㅠ
              설정이 잘못된 걸까요?
            • 심민섭
              echo에 ;가 빠졌는데 정상적으로 출력된 이유가 뭘까요?
            • 제갈량
              감사합니다~~
            버전 관리
            egoing
            현재 버전
            선택 버전
            graphittie 자세히 보기