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개
같은 서버라면 어느 계정에서도 문제없습니다. 다른서버라면 파일을 긁어와서 저장해야겠죠.
<?
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>";
?>
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 에서만 나타난다면, 위의 명령어를 적절히 조합하여 사용하셔야 예외를 회피하셔야 합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 284172 | |
| 284170 | |
| 284167 | |
| 284164 | |
| 284161 | |
| 284159 | |
| 284155 | |
| 284152 | |
| 284151 | |
| 284148 | |
| 284142 | |
| 284141 | |
| 284137 | |
| 284136 | |
| 284135 | |
| 284127 | |
| 284121 | |
| 284120 | |
| 284116 | |
| 284115 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기