g

php 질문(초초보)

초초보라서 질문드립니다.

"PHP와 MySQL 제3판"의 예제입니다.
실행하는데 책과같이 결과가 나오지 않아서요.
아래 내용에서 orders.txt의 값을 읽어와서 보여주는 것인데, 않됩니다.
제 생각으로는 orders.txt가 있는 루트를 잘못설정한것 같은데, 아직 루트설정개념이
확실하지 않아서요.
도움주세요

===TEXT 내용====
<?php
  //짧은 스타일의 변수로 만든다.
  $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
?>
<html>
<head>
  <title>Bob's Auto Parts - Customer Orders</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Customer Orders</h2>
<?php

@  $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'rb');
//
   if (!$fp)
   {
     echo '<p><strong>No orders pending.'
         .'Please try again later.</strong></p>';
     exit;
   }

   while (!feof($fp))
   {
      $order= fgets($fp, 999);
      echo $order.'<br />';
   }

echo 'Final position of the file pointer is '.(ftell($fp));
echo '<br />';
rewind($fp);
echo 'After rewind, the position is '.(ftell($fp));
echo '<br />';


   fclose($fp);

?>
</body>
</html>

|

댓글 3개

orders 폴더에서 orders.txt를 불러와서 orders.txt안의 내용을 보여주는것이네요...^^
루트폴더와 동일한 경로에 orders 폴더를 만들고,
orders폴더내에 orders.txt파일을 적당한 내용으로 만들어서 저장하고
위 소스로 만든 php파일을 루트에 저장해서 브라우저로 불러와 보시면
orders.txt파일의 내용이 보여집니다...^^
감사합니다.
브라우저에서 루트지정방법을 제가 잘못했네요.

그런데 아직도 및의 두구문은 잘 이해를 하지못하고 있어요. 누가 간단한 설명좀 부탁합니다.

$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];

$DOCUMENT_ROOT/../orders/orders.txt
절대경로라는 말씀은 들어 보셨지요?
보통 서버상에서 나의 계정이 abc 이고 홈디렉토리가 /home 이라면
서버상의 절대경로는 /home/abc 가 됩니다. ftp 접속하면 나오는 폴더가 계정폴더이고
계정폴더까지의 계층을 모두 적으면 절대경로가 됩니다.

그럼 웹루트는? 서버의 웹서버가 지정한 최상위 경로를 말합니다.
예: /home/abc 는 ftp 경로 및 계정폴더 및 절대경로입니다.
웹서버가 public_html 이라는 폴더를 사용해서 웹루트를 지정한다면

/home/abc/public_html 이게 웹루트가 되는 것이죠....

그래서 해당 소스를 적요해서 풀이하자면

$DOCUMENT_ROOT = "/home/abc/public_html"; 이렇게 변수에 들어가게 되는 것입니다.

그러므로
$DOCUMENT_ROOT/../orders/orders.txt


/home/abc/public_html/../orders/orders.txt 이렇게 됩니다.

그런데 웹루트가 최상위 인데 그위의 계정폴더까지 가서 orders/orders.txt를 열라고 되어 잇네요...

서버의 폴더 계층을 공부하시면 이해가 쉬우리라 봅니다.

웹루트 밑에 /orders 폴더가 있다면

$DOCUMENT_ROOT/orders/orders.txt

이렇게 해야 맞습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
17년 전 조회 1,423
17년 전 조회 1,770
17년 전 조회 2,329
17년 전 조회 1,802
17년 전 조회 1,754
17년 전 조회 1,537
17년 전 조회 1,384
17년 전 조회 1,339
17년 전 조회 1,154
17년 전 조회 1,146
17년 전 조회 1,170
17년 전 조회 1,177
17년 전 조회 1,596
17년 전 조회 1,672
17년 전 조회 1,812
17년 전 조회 2,949
17년 전 조회 2,087
17년 전 조회 1,763
17년 전 조회 2,099
17년 전 조회 1,811
17년 전 조회 3,346
17년 전 조회 1,525
17년 전 조회 1,651
17년 전 조회 1,365
17년 전 조회 2,180
17년 전 조회 3,127
17년 전 조회 2,269
17년 전 조회 1,725
17년 전 조회 2,978
17년 전 조회 4,422
17년 전 조회 1,740
17년 전 조회 3,239
17년 전 조회 1,566
17년 전 조회 3,476
17년 전 조회 5,836
17년 전 조회 1,417
17년 전 조회 2,150
17년 전 조회 1,784
17년 전 조회 1,525
17년 전 조회 2,412
17년 전 조회 2,620
17년 전 조회 1,588
17년 전 조회 2,677
17년 전 조회 3,166
17년 전 조회 1,522
17년 전 조회 1,936
17년 전 조회 3,839
17년 전 조회 4,471
17년 전 조회 1,866
17년 전 조회 1,725
17년 전 조회 2,665
17년 전 조회 1,846
17년 전 조회 3,931
17년 전 조회 1,638
16년 전 조회 1,920
17년 전 조회 2,254
17년 전 조회 2,103
17년 전 조회 3,559
17년 전 조회 1,580
17년 전 조회 2,648
17년 전 조회 1,631
17년 전 조회 1,901
17년 전 조회 7,419
17년 전 조회 1,993
18년 전 조회 4,084
18년 전 조회 2,418
18년 전 조회 2,427
18년 전 조회 2,146
18년 전 조회 2,187
18년 전 조회 2,613
18년 전 조회 3,209
18년 전 조회 5,317
18년 전 조회 2,774
18년 전 조회 2,690
18년 전 조회 2,540
18년 전 조회 1,789
18년 전 조회 2,196
18년 전 조회 5,303
18년 전 조회 3,018
18년 전 조회 2,581
18년 전 조회 3,253
18년 전 조회 2,469
18년 전 조회 2,829
18년 전 조회 5,859
18년 전 조회 2,610
18년 전 조회 2,007
18년 전 조회 2,640
18년 전 조회 1,470
18년 전 조회 9,794
18년 전 조회 4,449
18년 전 조회 3,277
18년 전 조회 1,805
18년 전 조회 3,595
18년 전 조회 2,275
18년 전 조회 3,722
18년 전 조회 5,172
18년 전 조회 3,826
18년 전 조회 2,670
18년 전 조회 2,931
18년 전 조회 2,439
🐛 버그신고