테스트 사이트 - 개발 중인 베타 버전입니다

data에 폴더 생성이 안되는거 같아요.. 채택완료

마인드핵 7년 전 조회 2,325

방금전만해도 500에러가 없었는데.. 다시... http error 500이 뜨네요..

그리고.. @mkdir(G5_DATA_PATH.'/editor/'.$bo_table,G5_DIR_PERMISSION);를 했는데도..

data 폴더/editor/에 폴더가 생성이 안됩니다.

$bo_table 함수는 게시판 제목으로 들어가는 함수 입니다.

 

제가 어디 실수 한 부분이 있나요..?

 

 

 

</p>

<p><?php

include_once('./_common.php');</p>

<p>    // 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)

    @mkdir(G5_DATA_PATH.'/editor/'.$bo_table,G5_DIR_PERMISSION);

    @chmod(G5_DATA_PATH.'/editor/'.$bo_table,G5_DIR_PERMISSION);

    

// 오늘 날짜

$ymd = date("ymd", G5_SERVER_TIME);</p>

<p>// 허용 된 확장.

$allowedExts = array("gif", "jpeg", "jpg", "png");</p>

<p>// 파일 이름을 가져옵니다.

$temp = explode(".", get_safe_filename($_FILES["file"]["name"]));</p>

<p>// 확장자를 가져옵니다. 

$extension = end($temp);</p>

<p>// 이미지 점검은 편집기에서 수행되지만 서버 측에서 다시 확인하는 것이 좋습니다.

// 쉽게 위조 될 수 있으므로 $ _FILES [ "file"] [ "type"]을 사용하지 마십시오.</p>

<p>$finfo = finfo_open(FILEINFO_MIME_TYPE);

$mime = finfo_file($finfo, $_FILES["file"]["tmp_name"]);</p>

<p>

if ((($mime == "image/gif")

    || ($mime == "image/jpeg")

    || ($mime == "image/jpg")

    || ($mime == "image/png"))

    && in_array(strtolower($extension), $allowedExts)) {</p>

<p>

    // 새로운 임의의 이름을 생성합니다.

    $name = $ymd. "_" .$bo_table. "_" .strtolower($extension);

    $savefile = G5_DATA_PATH.'/editor/'.$bo_table.'/'.$ymd.'/' .$name;</p>

<p>    // uploads 폴더에 파일을 저장합니다.

    move_uploaded_file($_FILES["file"]["tmp_name"], $savefile);</p>

<p>    // 올라간 파일의 퍼미션을 변경합니다.

    chmod($savefile, 0606);</p>

<p>    // 응답을 생성합니다.

    $response = new StdClass;

    $response->link = $savefile;

    

    // 응답을 보냅니다.

    echo stripslashes(json_encode($response));</p>

<p>}</p>

<p>?></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
그누위즈

$bo_table 이 어디에 선언되어있나요?

</p>

<p>// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)

@mkdir(G5_DATA_PATH.'/editor/'.$bo_table,G5_DIR_PERMISSION);

@chmod(G5_DATA_PATH.'/editor/'.$bo_table,G5_DIR_PERMISSION);</p>

<p>

 

여기 부분위에 $bo_table = 'test';

이런식으로 변수에 게시판 명을 넣어줘야 해당 이름으로 생성되지 않을까요?

에러를 잡으려면 하나씩 echo 로 찍어보시는 것이 좋습니다.

상단에 찍어보세요

</p>

<p>echo $bo_table;</p>

<p>exit;</p>

<p>

이렇게요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

pm1122dev
7년 전

권한은 먼저 확인해보셨나요? 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

w
7년 전

만일 리눅스 계열이라면 우선 가장 기초적인 권한 체크부터 해보시는 게 좋을 듯 합니다.

그 다음 해당 경로가 올바른지도 확인해 보신후에 그누위즈님 말씀대로 해보시는게 답일 듯 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인