개발 Q&A

제목 사진 업로드 정보 전달..질문 도와주십시오..
글쓴이 나루토 작성시각 2014/06/27 11:56:53
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 12515   RSS
소스부터 보여드리면..

index.php

(소스 생략)

$(document).on('change',"#fileupload",function(){
            var $form = $("#filedump");
            $form.ajaxSubmit({
                cache: false,
                datatype: 'json',
                beforeSubmit: function () {
                    $(".dropdown-menu").hide();
                    $canvas_container.mask("upload..");
                },
                success: function (redata) {
                    var data = $.parseJSON(redata);

                    if(data.result==0){
                        alert(data.error)
                    }else{
                        //alert(data.upload_data.file_name)

                        var img = data.upload_data
                        editor.insert_img("img"+img.file_name, img.image_width, img.image_height);

                    }
                    $canvas_container.unmask();
                    $("#dumpdiv").html('')
                }
            });
            return false;
        })


upload.php
//이미지를 특정경로에 저장하면 업로드된 이미지 값들를 index.php 에전송해주는 페이지

move_uploaded_file($_FILES["file"]["tmp_name"], "./img/" . $_FILES["file"]["name"]);

$img = array();
$file_name = "./img/".$_FILES["file"]["name"]."";
$file = $_FILES["file"]["name"];


    $arr = array();
    $arr = getimagesize($file_name);

    $img = array(
        "file_name" => $file,
        "image_width"=>$arr[0],
        "image_hei"=>$arr[1]
    );


$return = array(
    "result" => $result,
    "img"=> $img,

);
echo json_encode($return);


upload.php 여기서 주황색부분에서 index.php 에 붉은부분으로 이미지에 대한 값들을 전달해주는거 같은데..
var img = data.upload_data 여기에서 값을 재대로 못받아오는거 같습니다..

.콘솔에서 오류는..
 
TypeError: img is undefined
 
 
editor.insert_img("img"+img.file_name, img.image_width, img.image_height);
이렇게 나오는데요 upload.php에서 소스를 어떻게 수정해줘야 될까요 추가할부분있으면 알려주세요 ㅜㅜ
 ..도저히 감히 안잡혀서 질문드립니다..(초보) 도와주세요 ㅜㅜ
 다음글 SMTP 서버로 데이터 전달하여 발송시 메일 관한 문의 (3)
 이전글 transform 의 matrix 질문입니다.

댓글

한대승(불의회상) / 2014/06/27 12:33:39 / 추천 0
redata 부터 콘솔에 출력해 보세요.
darkninja / 2014/06/27 13:23:30 / 추천 0
move_uploaded_file( iconv("utf-8", "euc-kr", $tmp), iconv("utf-8", "euc-kr", $file) ) 
해보세요...
letsgolee / 2014/06/27 23:31:06 / 추천 0
ajax에서 받아오는 data의 인자가 result, error, upload_data입니다. 그리고 upload_data는 file_name, image_width, image_height를 인자로 받습니다. 이걸 php로 보내주어야 하겠죠? 그럼 $return의 구조는 다음과 같아야 합니다:

$result = array('result'=>1,
                        'error'=>'',
                        'upload_data'=>array('file_name'=>'이미지 이름',
                                                          'image_width'=>'이미지 width',
                                                          'image_height'=>'이미지 height'
                                                 )
               );
이 구조가 되게 다시 짜시면 됩니다.