모바일 작업시 심볼릭안하고 데이터 공유하기 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

모바일 작업시 심볼릭안하고 데이터 공유하기 정보

모바일 작업시 심볼릭안하고 데이터 공유하기

본문

root/
root/m

ln -s ../data data
를 통해서 심볼릭 설정을 하고 작업을 합니다..

그런데 이게 간혹 ssh접속을 안해주는 호스팅이 있어서 고민좀 해봅니다.

일반 데이터 들은
기존경로를 $g4[path]/data

1번째 방법
$g4[path]/../data

2번째 방법
http://zeronara.net/data
이렇게 지정을 해주고 있습니다..

여기서 1가지 문제가 발생하는데
썸네일을 사용해서 갤러리 최신글을 생성할 경우..
http://zeronara.net/data의 썸을

http://m.zeronara.net/ 이곳에서 못불러 온다는 겁니다..
못불러 온다기 보다는

if (file_exists($thumb)) {
이런 조건을 할 수가 없습니다.

이거 아시는 분 도움좀 부탁드립니다..
  • 복사

댓글 전체

같은 서버라면 어느 계정에서도 문제없습니다. 다른서버라면 파일을 긁어와서 저장해야겠죠.

<?
include_once("./_common.php");

unset($data);

$data['path'] = "/home/user/public_html"; // 절대경로 설정 (그누보드 설치폴더)
$data['host'] = "http://sir.co.kr"; // 이미지 불러올 도메인 설정

// 임시 게시물 지정
$bo_table = "notice";
$wr_id = "1";

// 이미지 체크
$sql = " select * from $g4[board_file_table] where bo_table = '".$bo_table."' and wr_id = '".$wr_id."' and bf_file != '' and bf_type in (1,2,3) order by bf_no asc ";
$file = sql_fetch($sql);

// 전체 파일경로
$thumb = $data['path']."/data/file/".$bo_table."/".$file['bf_file'];

// 절대경로 체크
if (file_exists($thumb) && $file['bf_file']) {

    // 절대 경로가 출력되지 않기 위해서 경로를 도메인으로 변경
    $thumb = str_replace($data['path'], $data['host'], $thumb);

    $image = $thumb;

} else {

    $image = "./noimage.gif";

}

echo $image."<br>";
echo "<img src='".$image."'><br>";
?>
다들 감사합니다..
처음부터 경로에서 이미지는 불러왔습니다..

그런데 경로에서
if (file_exists($thumb)
조건을 걸었는데 이게 전혀 먹히지 않습니다..

어떤 설정 때문인지는 모르겠으나 일본서버라서 그런지 명령이 안먹히는게 있나 보네요..
설치 os 는 FreeBSD 7.1
일단 처리는 심볼릭으로 처리했으나

심볼릭을 하지 않을 때를 고려한건데 잘 안되네요..
좀더 조언 주세요~~~^^
dir_name 과 __FILE__ 을 사용하여 절대 경로를 계산하여 접근하시는게 좋을것 같습니다.
보안관련하여 상위폴더 참조나 상위폴더 이동을 막을수 있습니다.

common.php 에서
g4['data_path'] = dirname(dirname(__FILE__))."/data";

참조 오류가 발생한다면,
■basename() - Returns trailing name component of path
■pathinfo() - Returns information about a file path
■realpath() - Returns canonicalized absolute pathname
아 같은 파일함수로 실제 파일 접근이 가능한지 확인하시고

http://kr.php.net/manual/en/function.file-exists.php 문서를 보시면 file_exists 함수가 false 를 리턴할수 있는 상황들이 있습니다.(Note 부분 참조)

모든것은 서버 상황과 상관이 있음으로, 일반 Linux 에서도 테스트 해보시고, 호스팅 받고  있는 FreeBSD 에서만 나타난다면, 위의 명령어를 적절히 조합하여 사용하셔야 예외를 회피하셔야 합니다.
© SIRSOFT
현재 페이지 제일 처음으로