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. 김펭구
    감사합니다
  2. 박주원
    저는 data/html로 저장을 할수가없네요.
  3. moon
    항상 감사합니다.!!
  4. 지나가는 행인
    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에 ;가 빠졌는데 정상적으로 출력된 이유가 뭘까요?
          • 제갈량
            감사합니다~~
          • noName
            2018-3-10 완료
          • Hyun Woo Lee
            감사합니다
          • Mingi Son
            감사합니다
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기