모바일 작업시 심볼릭안하고 데이터 공유하기 정보
모바일 작업시 심볼릭안하고 데이터 공유하기
본문
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)) {
이런 조건을 할 수가 없습니다.
이거 아시는 분 도움좀 부탁드립니다..
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)) {
이런 조건을 할 수가 없습니다.
이거 아시는 분 도움좀 부탁드립니다..
댓글 전체

심보릭링크 된 파일도 file_exists() 함수는 잘 먹히는데요.
php 옵션에 따라 다른가요?
php 옵션에 따라 다른가요?

별도의 파일을 만들어 계정에 업로드해서 심볼릭 설정 해 주면 안될까요?
업데이트 형식으로....^^;;
업데이트 형식으로....^^;;

같은 서버라면 어느 계정에서도 문제없습니다. 다른서버라면 파일을 긁어와서 저장해야겠죠.
<?
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>";
?>
<?
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
일단 처리는 심볼릭으로 처리했으나
심볼릭을 하지 않을 때를 고려한건데 잘 안되네요..
좀더 조언 주세요~~~^^
처음부터 경로에서 이미지는 불러왔습니다..
그런데 경로에서
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 에서만 나타난다면, 위의 명령어를 적절히 조합하여 사용하셔야 예외를 회피하셔야 합니다.
보안관련하여 상위폴더 참조나 상위폴더 이동을 막을수 있습니다.
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 에서만 나타난다면, 위의 명령어를 적절히 조합하여 사용하셔야 예외를 회피하셔야 합니다.

감사합니다.
감 잡았습니다~
감 잡았습니다~
domain이 모바일인 경우 $g4[path] 를 다르게 주시면 되겠네요
이게 제일 간단할것 같은데요?
이게 제일 간단할것 같은데요?