최신글 출력 문제

최신글 출력 문제

QA

최신글 출력 문제

본문

http://ga1234.cafe24.com/main/main.php

main 폴더안에 있는 main.php에다 최신글을 출력할까 합니다.

그런데 상단에 <? include_once('../lib/latest.lib.php'); ?>를 넣어 latest를 호출해도 오류가 납니다.

php를 잘 몰라 함수 및 경로를 어떻게 지정해야 할지 모르겠습니다. 

이 질문에 댓글 쓰기 :

답변 3

먼저 제안드리고 싶은 점은 그누보드가 루트에 설치되었는데 메인 페이지는 별도의 main이라는 폴더에 구성이 되어 있는데요. 이렇게 구성하시는 것보다는 루트에 같이 구성하시는 것이 더욱 용이하다고 보여집니다.

 

현재 부분에서는


include_once('../_common.php');
include_once(G5_LIB_PATH.'/latest.lib.php');

와 같이 구성해서 넣어보세요.

<? include_once('../lib/latest.lib.php'); ?>

 

.. 부분의 경로가 잘못되었다던가...그러신거같아요...음...

.. <-- 이부분을 경로 맞추시면될거같은데

..을 $g4[path] 로 바꿔보세요

 

<? include_once('../lib/latest.lib.php'); ?> 이거를

 

<? include_once('$g4[path]/lib/latest.lib.php'); ?> 이렇게

 

 

_common.php  파일을 만드세요 main 폴더안에 만드시고 내용을 아래와 같이

아래 코드는 config 파일이 존재하는 폴더를 찾아주는 소스입니다.

 


 
<?php
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);
$document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']);
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
$user = str_replace(str_replace($document_root, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']);
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
if(isset($_SERVER['HTTP_HOST']) && preg_match('/:[0-9]+$/', $host)) $host = preg_replace('/:[0-9]+$/', '', $host);
 
$index_url = $http.$host.$port.$user;
 
 
$index_root =  index_path($index_url, $_SERVER['PHP_SELF']);
 
include_once($index_root.'/common.php');
 
function index_path($index, $url){
 
 $path = ".";
 $index = explode("/", $index);
 $url = explode("/", $url);
 //index 페이지의 경로를 찾는다.
 $index_path = $index[count($index)-1];
 // 현재 경로가 상위폴더인지 검사한다.
 for($i=0; $i<count($url); $i++){ 
  if($index_path == $url[$i]){
   $up_polder = true; 
   $index_key = $i; //index 폴더의 위치를 저장 
  }
 }
 
 if($up_polder){
  //상위 폴더일경우
  $loop_cnt = count($url) - 2 - $index_key;
  for($i=0; $i<$loop_cnt; $i++){
   if($i == 0 ){
    $path = "..";
   }else{
    $path .= "/..";
   }
  }
 }else{
  // 하위 폴더일경우 현재 폴더를 찾는다
  $url_path = $url[count($url)-2];//폴더가 아닌 파일을 제거하기 위해 -2
  for($i=0; $i<count($index); $i++){
   if($url_path == $index[$i]){
    $url_key = $i+1;// 현위치의 다음 부터 폴더경로 추가를 위해 +1을 해줌
   }
  }
  for($i=$url_key; $i<count($index); $i++){  // 폴더경로 추가 
   $path .= "/".$index[$i];
  }
  
 }
 
 return $path;
}
 
?> 
 

 

그리고 나머지는 port 님 이알려주신대로 

 

./_common.php 파일은 같은 폴더에 존재 하니 상위로 나갈 필요는 없습니다.

 


 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 17
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT