엑셀 파일 내용을 게시글로 등록하려고 합니다

엑셀 파일 내용을 게시글로 등록하려고 합니다

QA

엑셀 파일 내용을 게시글로 등록하려고 합니다

답변 1

본문

안녕하세요? 항상 답변 감사합니다. 엑셀 파일을 data/file/apply 폴더에 업로드 하는 것은 성공했습니다 ^^

그런데 해당 엑셀 파일의 내용을 게시글로 등록 하려면 어떻게 해야할까요?

제가 찾는 자료와 비슷한 내용의 자료라도 있을까요? 

감사합니다~

 

<?php

include_once("_common.php");

 

error_reporting(E_ALL);

ini_set("display_errors", 1);

 

// 상품이 많을 경우 대비 설정 변경

set_time_limit(0);

ini_set('memory_limit', '50M');

 

$file = $_FILES['excelFile']['tmp_name'];

 

include_once(G5_LIB_PATH.'/Excel/reader.php');

 

$data = new Spreadsheet_Excel_Reader();

 

// Set output Encoding.

$data->setOutputEncoding('UTF-8');

 

$targetPath = G5_DATA_PATH . '/file/apply/';

$targetFile = $targetPath . $_FILES['excelFile']['name'];

 

move_uploaded_file($file, $targetFile);

 

// print_r($_FILES);

 

$data->read($targetFile);

 

error_reporting(E_ALL ^ E_NOTICE);

 

$write_table = "g5_write_{$bo_table}";

 

for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {

    $total_count++;

 

    $mb_id = $member['mb_id'];

    $wr_name = $member['mb_nick'];

    $wr_password = $member['mb_password'];

    $wr_email = $member['mb_email'];

    $wr_homepage = $member['mb_homepage'];

 

    $wr_num = get_next_num($write_table);

    $wr_reply = "";

 

    $wr_subject = addslashes($data->sheets[0]['cells'][$i][2]);

    $wr_1 = addslashes($data->sheets[0]['cells'][$i][3]);

    $wr_2 = addslashes($data->sheets[0]['cells'][$i][4]);

    $wr_3 = addslashes($data->sheets[0]['cells'][$i][5]);

    $wr_4 = addslashes($data->sheets[0]['cells'][$i][6]);

    $wr_5 = addslashes($data->sheets[0]['cells'][$i][7]);

    $wr_6 = addslashes($data->sheets[0]['cells'][$i][8]);

    $wr_7 = addslashes($data->sheets[0]['cells'][$i][9]);

    $wr_8 = addslashes($data->sheets[0]['cells'][$i][10]);

    $wr_9 = addslashes($data->sheets[0]['cells'][$i][11]);

 

    $sql = "INSERT INTO $write_table

            SET wr_num = '$wr_num',

                wr_reply = '$wr_reply',

                wr_parent = '$wr_parent',

                wr_is_comment = '$wr_is_comment',

                wr_comment = '$wr_comment',

                ca_name = '$ca_name',

                wr_option = '$wr_option',

                wr_subject = '$wr_subject',

                wr_content = '$wr_content',

                wr_link1 = '$wr_link1',

                wr_link2 = '$wr_link2',

                wr_link1_hit = '$wr_link1_hit',

                wr_link2_hit = '$wr_link2_hit',

                wr_hit = '$wr_hit',

                wr_good = '$wr_good',

                wr_nogood = '$wr_nogood',

                mb_id = '$mb_id',

                wr_password = '$wr_password',

                wr_name = '$wr_name',

                wr_email = '$wr_email',

                wr_homepage = '$wr_homepage',

                wr_datetime = '$wr_datetime',

                wr_last = '$wr_last',

                wr_ip = '$wr_ip',

                wr_facebook_user = '$wr_facebook_user',

                wr_twitter_user = '$wr_twitter_user',

                wr_1 = '$wr_1',

                wr_2 = '$wr_2',

                wr_3 = '$wr_3',

                wr_4 = '$wr_4',

                wr_5 = '$wr_5',

                wr_6 = '$wr_6',

                wr_7 = '$wr_7',

                wr_8 = '$wr_8',

                wr_9 = '$wr_9'";

 

    sql_query($sql);

 

    $wr_id = sql_insert_id();

 

    // 부모 아이디에 UPDATE

    sql_query("UPDATE $write_table SET wr_parent = '$wr_id' WHERE wr_id = '$wr_id'");

 

    // 새글 INSERT

    sql_query("INSERT INTO {$g5['board_new_table']} (bo_table, wr_id, wr_parent, mb_id) VALUES ('{$bo_table}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '{$mb_id}')");

 

    // 게시글 1 증가

    sql_query("UPDATE {$g5['board_table']} SET bo_count_write = bo_count_write + 1 WHERE bo_table = '{$bo_table}'");

}

 

alert("엑셀파일 업로드가 완료되었습니다.", G5_BBS_URL."/board.php?bo_table=apply");

?>

이 질문에 댓글 쓰기 :

답변 1

에휴, 저 아래 질문을 보니 드디어 오류 원인이 나왔는데 질문이 산으로 가고 있네요

The filename is not readable <--

분명 첨부되는데 읽을수 없는 화일이라고 하는 이유는 해당 라이브러리는 xls 화일만 사용합니다

그런데 xlsx 화일을 사용해서 오류가 난 것이 틀림없을 것으로 추측 됩니다

xls로 저장해서 하든가 , lib/PHPExcel 라이브러리를 사용하면 xls, xlsx 모두 사용 가능합니다

 

그리고 위 소스에서 먼저 질문에는 없던 move_uploaded_file()을 끼워넣었는데 

업로드한 액셀화일을 서버에 저장핳 필요가 없을 듯한데 저장하는 코드는 필요없는 처리입니다

이전 소스를 그대로 사용하고 xls로 저장해서 사용하세요

 

 

네 해결해서 엑셀 파일 게시글로 저장했습니다. 경로를 잘 설정해주니까 엑셀 파일 폴더 내에 저장해주었고 게시글에 제대로 db 등록을 하면되는데 여기에서 문제가 생겼네요 ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 2,710
© SIRSOFT
현재 페이지 제일 처음으로