모바일 작업시 심볼릭안하고 데이터 공유하기
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)) {
이런 조건을 할 수가 없습니다.
이거 아시는 분 도움좀 부탁드립니다..
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 7개
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>";
?>
처음부터 경로에서 이미지는 불러왔습니다..
그런데 경로에서
if (file_exists($thumb)
조건을 걸었는데 이게 전혀 먹히지 않습니다..
어떤 설정 때문인지는 모르겠으나 일본서버라서 그런지 명령이 안먹히는게 있나 보네요..
설치 os 는 FreeBSD 7.1
일단 처리는 심볼릭으로 처리했으나
심볼릭을 하지 않을 때를 고려한건데 잘 안되네요..
좀더 조언 주세요~~~^^
보안관련하여 상위폴더 참조나 상위폴더 이동을 막을수 있습니다.
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 에서만 나타난다면, 위의 명령어를 적절히 조합하여 사용하셔야 예외를 회피하셔야 합니다.
감 잡았습니다~
이게 제일 간단할것 같은데요?