CI 묻고 답하기

제목 CI 이미지 업로드 관련하여 업로드 경로 설정하는 것에 대해서 질문이 있습니다.
글쓴이 해달봉 작성시각 2014/10/15 15:20:11
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 26006   RSS
안녕하세요. 선배님들!
CI에 이미지 업로드 관련하여 업로드 경로 설정하는것에 대해서 질문이 있습니다.

현재 이미지 업로드 경로는 ex) http://test.img.com/share/  이런식으로 다른 img를 저장하는 서버가 있습니다.
그렇기 때문에 업로드를 하면 test.img.com/share 폴더 하위에 생기도록 소스를 짜놓았습니다.

※ 개발하는 경로랑 이미지 저장 경로는 다릅니다.

이미지 저장 경로는 절대경로로 선언 해놓은 상태입니다.
$sPath = 'http://test.img.com/share/'.date('Y').'/'.date('m').'/'.date('d')';

 $sTemp = trim($sPath);
        if ( ! is_dir($sTemp)) {
            mkdir($sTemp,0777, true);
        }

소스는 이렇습니다. 이미지 저장 시 해당 디렉토리가 없으면 년/월/일로 만들어주거든요.,,,

잘 될거라 생각하고 업로드를 해보니

<pre>Array
(
    [status] => error
    [data] => Array
        (
            [image_error] => 업로드 경로가 유효한 것으로 보이지 않습니다.
        )

)

이런 에러가 발생합니다. 뭐 보이다 싶이 경로가 잘못 된것 같은데.. URL이 다른 곳에 저장을 할려면 절대 경로로 하는게 맞지 않나요?...흠..
 다음글 GD 라이브러리가 설치되어 있으나 CI에서 인식하질 못... (5)
 이전글 포럼소스 설치후 인증코드 문제 (4)

댓글

들국화 / 2014/10/15 15:26:32 / 추천 0
같은 컴퓨터에서만 접근 가능 합니다.
아니면 해당 웹서버에서 접근 할수 있도록 NFS같을결로라도 연결을 해줘야 합니다.
쉽게 애기하면 cd 로 들어갈수 있어야 합니다.
일반적으로 로컬에 저장을 하고 여러가지 방법으로 copy or move 해 줍니다.
변종원(웅파) / 2014/10/15 17:00:30 / 추천 0
$sPath = '/share/'.date('Y').'/'.date('m').'/'.date('d')';

이런식으로 처리되어야 합니다. 웹주소로 저장이 되면 모든 서버를 해킹할 수 있죠. ^^
CI_ORL / 2014/10/15 17:52:30 / 추천 0
$t = time();
$Y = date("Y",$t);
$m = date("m",$t);
$d = date("d",$t);
$sPath = '/share/'.$Y.'/'.$m.'/'.$d.'/';
아닐까요? ㅎ
저두 이미지 올릴때 time() 이름 설정 했더니, 밀리터리초 단위에서 뒤틀린 덕에...
알게 된 내용인데요...

가장 위험한 부분이 2014년 12월 31일 11시 59분에 59초 999999 에 업로드하다가 date('d') 처리할때 1로 바뀌면,
우리가 생각하는 /2015/1/1/ 폴더가 아닌 /2014/12/1/ 폴더로 직행한다는 사실!!

매우 중요함...
그냥 겪어 본 일이라... 끄적 거렸어요...