답사기 : 아....머리아프다.. > 그누3질답

그누3질답

답사기 : 아....머리아프다.. 정보

그누보드 답사기 : 아....머리아프다..

본문

답사기 : http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=skin3&sselect=wr_subject&stext=%B4%E4%BB%E7%B1%E2&soperator=1&page=1&wr_id=9774


아래 내용은 gbupdate.skin.php

파일 내용중에 복사본 파일 즉 "./data/file/$bo_table/$file_name_s.$img_ext

$file_name_s  <-- s 라는 파일이 존재 안합니다.

바로 직방으로 올리고 그파일이 원본이 되고 게시판에 보여줍니다.
그러므로 gd 는 사용안한다는 소리죠.. 변환 작업이 없으니..

문제는 모질라나 파이어폭스에서 파일이 안올라간다는것이죠.. 파일이 업로드 되야
게시판에서 보여줄것인데 ..파일이 업로드가 안되네요?
익스플러러에서는 아무 이상없이 잘됩니다. ㅡㅡ?

위에 _s 가 들어가는 파일과 연관성이 있는것 같은데..  모르겠습니다.
또 한가지는 gbupdate.skin.php  에서 본문내용과 확장내용을 합쳐서 ..
내용검색시 검색이 되게 해야 하느데.. 그거 구현방법도 모르겠습니다.
gbupdate.skin.php  부분에서 수정하는것 같은데...

아시는분 조언줌 부탁드립니다..

======================================================================================================

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

include "$board_skin/config.skin.php";

$msg = "";

for ($i=count($_POST["wf_cont"])-1; $i>=0; $i--)
{
$img_ext = ""; //??????????????
    if ($_POST[wf_id_del][$i])
    {
        $file_name = get_thumb_filename($wr_id, $i);
// 삭제할 파일의 확장자 찾기
$sql = " select wf_ext from $file_table where wr_id = $wr_id and wf_id = $i "; //xxxxxxxxxxxxx
$row = sql_fetch($sql); //xxxx

        @unlink("./data/file/$bo_table/{$file_name}.$row[0]"); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


        $sql = " delete from $file_table where wr_id = $wr_id and wf_id = $i "; //xxxxxxxxxxx
        sql_query($sql);
 continue; //xxxxxxxxxxxxxxxxxxxxxxxxxxxx???????????????????
    }

    $file_name = get_thumb_filename($wr_id, $i);
    if ($_FILES["wf_file"][error][$i] == 0 && $_FILES["wf_file"][size][$i] <= ($file_size * 1024))
    {
        $src_file = $_FILES["wf_file"][tmp_name][$i];
$orgsize = getimagesize($src_file); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
switch($orgsize[2]) {
case 1: // GIF image
$img_ext = "gif"; break;
case 2: // JPEG image
$img_ext = "jpg"; break;
case 3: // PNG image
$img_ext = "png"; break;
}
        $dst_file = $image = "./data/file/$bo_table/$file_name.$img_ext"; //xxxxxxxxxxxxxxxxxxxxxxxxxx
        move_uploaded_file($src_file, $dst_file);

        $size = getimagesize($image);
 
/*        switch($size[2]) {            //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
case 1: // GIF image
$src = @ImageCreateFromGIF($image); break;
case 2: // JPEG image
$src = @ImageCreateFromJPEG($image); break;
case 3: // PNG image
$src = @ImageCreateFromPNG($image); break;
}
*/
// 이미지 높이 비율
        $rate = $size[1] / $size[0];
        // 작은이미지의 높이
        $simg_height = (int)($simg_width * $rate);
             
// 이미지가 png,gif,jpg 라면
        if ($src)
        {
            // 이미지(소) 생성
            //$dst = imagecreatetruecolor($simg_width, $simg_height);
if (function_exists("imagecreatetruecolor")) {
// This function requires GD 2.0.1 or later.
$dst = @ImageCreateTrueColor($simg_width, $simg_height);
} else {
$dst = @ImageCreate($simg_width, $simg_height);
}
          // 1.00.05 gd 버전에 따라
            if (function_exists("imagecopyresampled")) {
                @imagecopyresampled($dst, $src, 0, 0, 0, 0, $simg_width, $simg_height, $size[0], $size[1]);
            } else {
                // 1.00.02 imagecopyresized -> imagecopyresampled 로 교체
                @imagecopyresized($dst, $src, 0, 0, 0, 0, $simg_width, $simg_height, $size[0], $size[1]);
            }

@ImageJPEG($dst, "./data/file/$bo_table/{$file_name}.$img_ext", $image_quality);
@chmod($dst,0606);
@ImageDestroy($src);
@ImageDestroy($dst);
        }
    }
    else if ($_FILES["wf_file"][size][$i] > ($file_size * 1024))
    {
        $msg = "용량이 {$file_size}KB 이상되는 이미지 파일은 업로드 되지 않습니다.\\n\\n만약, 이미지가 업로드 되지 않았다면 용량이 초과한 경우일 겁니다.";
    }

  $file = "./data/file/$bo_table/{$file_name}.$img_ext";  ////////////////////////////////////////////////////
    if ($_FILES["wf_file"][error][$i] == 0 || $_POST[wf_cont][$i] || file_exists($file))
    {
        $sql = " insert $file_table
                set wr_id = $wr_id,
                        wf_id = $i,
wf_ext = '$img_ext',
                        wf_cont = '{$_POST[wf_cont][$i]}' ";
        $result = @mysql_query($sql);
        if (!$result)
        {
// 수정시에 이미지 확장자가 다른것으로 바뀌면 기존에 올라간 파일을 제거
if($img_ext != "") {
$sql = " select wf_ext from $file_table where wr_id = $wr_id and wf_id = $i ";
$row = sql_fetch($sql);

if($img_ext != $row[0]) {
        @unlink("./data/file/$bo_table/{$file_name}.$row[0]");
       
}
}

            $sql = " update $file_table set wf_cont = '{$_POST[wf_cont][$i]}' ";
if($img_ext != "") $sql .= ",wf_ext = '$img_ext'";
            $sql .= " where wr_id = $wr_id and wf_id = $i ";
            @mysql_query($sql);
        }
    }
}

if ($msg)
    echo "<script> alert('$msg'); </script>";


//print_r2($_FILES); exit;
?>
======================================================================================================

댓글 전체

불여우로 업로드 했을때 안 올라가는 거 같아도 FTP 에 파일이 있다면 정상적으로 등록은 된 것입니다.
그 정상적인 것이 문제인데...
위 소스는 업데이트 파일 같습니다만,

GD 를 사용안 한다면 GD 관련 내용을 모두 제거 해 주셔야 오류가 없습니다.
있는데 오류가 없더라도 기본적으로 사용안하면 제거해 주셔야 합니다.
당연히 사용을 안하니, GD에서 빠져나오는 _s 는 필요가 없어집니다.

그리고 내용을 검색을 하기 위해 합치는 일은 폼스킨에 하단에 `스크립`으로 존재 합니다.
(`// 내용 검색에 나오게 하기 위하여 내용을 합침` 이란 단어)
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT