서버의 특정디렉토리의 모든 파일을 읽어서 게시판에 자동등록하는 소스
<?php
//제 게시판이 utf-8입니다.
//윈도우서버인데. 윈도우서버는 기본이 euckr인가 봅니다.
//lib.parse.php 는 제일 하단에 기재 하겠습니다.
//mb_id, mb_name, mb_password, mb_email 의 내용만 자신의 것으로 만드시면 됩니다.
//bo_table의 값을 해당 게시판으로 지정하시면 됩니다.
//dir 는 파일이 위치한 디렉토리 입니다.
header("Content-type:text/html;charset=utf-8");
include_once './_common.php';
include_once $g4['path'].'/lib/lib.parse.php';
//게시판의 이름을 지정합니다.
$bo_table= 'adult1';
$html = 'html1';
$write_table ="g4_write_$bo_table";
//실제로 읽어 들일 디렉토리의 경로입니다.
$dir = $g4['path'].'/softmovie4/';
$dr = opendir($dir);
if($dr == true):
while(($file = readdir($dr)) ==true):
$src_file = $dir.$file;
if($file == '' || $file == '.' || $file == '..' || is_file($src_file) == false)
continue;
$file = iconv("euc-kr", "utf-8",$file);
$dest_name = get_unique_file($file);
$file = urldecode($file);
$save_files = $dest_name;
//파일을 지정할 경로
$file_name = $g4['path']."/data/file/$bo_table/$save_files";
@copy($src_file, $file_name);
if(is_file($file_name)==false)
continue;
$upload[0]['image'] = $g4['path']."/data/file/$bo_table/$save_files";
$upload[0][source] = $file;
$upload[0][filesize] = filesize($upload[0]['image']);
$upload[0][file] = $save_files;
/** 디비에 입력하는 부분 ****/
$wr_num = get_next_num($write_table);
$wr_reply = "";
$save_title = addslashes(strip_tags($file));
$wr_subject= $save_title;
$wr_content = $save_title;
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_trackback = '$wr_trackback',
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = 'admin_id',
wr_password = 'admin_password',
wr_name = 'admin_name',
wr_email = 'adin_email',
wr_homepage = '',
wr_datetime = now(),
wr_last = now(),
wr_ip = '$_SERVER[REMOTE_ADDR]',
wr_1 = '$file',
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',
wr_10 = '$wr_10' ";
$que_result = @mysql_query($sql);
if($que_result=true):
$wr_id = mysql_insert_id();
$sql = " insert into g4_board_file
set bo_table = '$bo_table',
wr_id = '$wr_id',
bf_no = '0',
bf_source = '{$upload[0][file]}',
bf_file = '{$upload[0][file]}',
bf_content = '{$bf_content[0]}',
bf_download = 0,
bf_filesize = '{$upload[0][filesize]}',
bf_width = '{$upload[0][image][0]}',
bf_height = '{$upload[0][image][1]}',
bf_type = '{$upload[0][image][2]}',
bf_datetime = '$g4[time_ymdhis]' ";
mysql_query($sql);
// 부모 아이디에 UPDATE
mysql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
mysql_query(" insert into g4_board_new ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
mysql_query("update g4_board set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");
endif;
endwhile;
closedir($dr);
endif;
?>
/lib.parse.php 의 내용
<?php
//파일의 확장자를 구하는 함수
function get_extension($file){
return strtolower(substr(strrchr($file,"."),1));
//파일의 확장자를 구하는 함수
$info = @getimagesize($file);
if(!$info)
return '';
switch($info[2]) {
case 1:
return 'gif';break;
case 2:
return 'jpg';break;
case 3:
return 'png';break;
case 4:
return 'zip';break;
case 5:
return 'hwp';break;
case 6:
return 'doc';break;
case 7:
return 'xls';break;
case 8:
return 'ppt';break;
default :
return '';
}
}
//임시 번호를 생성하는 함수
function get_unique_code($prefix = ""){
$prefix = $prefix ? $prefix : "mk_";
return $prefix.mt_rand(10000, 99999).'_'.mt_rand(10000, 99999);
}
function get_unique_file($file){
$ext =get_extension($file);
$code= get_unique_code();
return $code.'.'.$ext;
}
//flag는 리눅스 인지, 윈도우인지, 리눅스의 경우 false, 윈도우의 경우 true
function fsockopen_func($url) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = fsockopen($request, 80, $errno, $errstr, 3);
if (!$fp) {
return false;
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
$content_arr = explode("\r\n\r\n", $content);
if($content_arr[1] ==false)
return '';
else
return $content_arr[1];
}
}
//잡코리아를 파싱하는 경우
function fsockopen_func_jobkorea($url, $flag= true) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = @fsockopen($request, 80, $errno, $errstr, 5);
if (!$fp) {
return '';
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
if(preg_match("/HTTP\/1\.1 200/", $content)==false)
return '';
//echo "done";
$content_arr = explode("\r\n", $content);
return $content_arr;
}
}
//알바몬을 파싱하는 경우
function fsockopen_func_albamon($url, $flag= true) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = @fsockopen($request, 80, $errno, $errstr, 5);
if (!$fp) {
return false;
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out.= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
if(preg_match("/HTTP\/1\.1 200/", $content)==false)
return '';
$content_arr = explode("<?xml", $content);
return $content_arr[1];
}
}
?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
//제 게시판이 utf-8입니다.
//윈도우서버인데. 윈도우서버는 기본이 euckr인가 봅니다.
//lib.parse.php 는 제일 하단에 기재 하겠습니다.
//mb_id, mb_name, mb_password, mb_email 의 내용만 자신의 것으로 만드시면 됩니다.
//bo_table의 값을 해당 게시판으로 지정하시면 됩니다.
//dir 는 파일이 위치한 디렉토리 입니다.
header("Content-type:text/html;charset=utf-8");
include_once './_common.php';
include_once $g4['path'].'/lib/lib.parse.php';
//게시판의 이름을 지정합니다.
$bo_table= 'adult1';
$html = 'html1';
$write_table ="g4_write_$bo_table";
//실제로 읽어 들일 디렉토리의 경로입니다.
$dir = $g4['path'].'/softmovie4/';
$dr = opendir($dir);
if($dr == true):
while(($file = readdir($dr)) ==true):
$src_file = $dir.$file;
if($file == '' || $file == '.' || $file == '..' || is_file($src_file) == false)
continue;
$file = iconv("euc-kr", "utf-8",$file);
$dest_name = get_unique_file($file);
$file = urldecode($file);
$save_files = $dest_name;
//파일을 지정할 경로
$file_name = $g4['path']."/data/file/$bo_table/$save_files";
@copy($src_file, $file_name);
if(is_file($file_name)==false)
continue;
$upload[0]['image'] = $g4['path']."/data/file/$bo_table/$save_files";
$upload[0][source] = $file;
$upload[0][filesize] = filesize($upload[0]['image']);
$upload[0][file] = $save_files;
/** 디비에 입력하는 부분 ****/
$wr_num = get_next_num($write_table);
$wr_reply = "";
$save_title = addslashes(strip_tags($file));
$wr_subject= $save_title;
$wr_content = $save_title;
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_trackback = '$wr_trackback',
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = 'admin_id',
wr_password = 'admin_password',
wr_name = 'admin_name',
wr_email = 'adin_email',
wr_homepage = '',
wr_datetime = now(),
wr_last = now(),
wr_ip = '$_SERVER[REMOTE_ADDR]',
wr_1 = '$file',
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',
wr_10 = '$wr_10' ";
$que_result = @mysql_query($sql);
if($que_result=true):
$wr_id = mysql_insert_id();
$sql = " insert into g4_board_file
set bo_table = '$bo_table',
wr_id = '$wr_id',
bf_no = '0',
bf_source = '{$upload[0][file]}',
bf_file = '{$upload[0][file]}',
bf_content = '{$bf_content[0]}',
bf_download = 0,
bf_filesize = '{$upload[0][filesize]}',
bf_width = '{$upload[0][image][0]}',
bf_height = '{$upload[0][image][1]}',
bf_type = '{$upload[0][image][2]}',
bf_datetime = '$g4[time_ymdhis]' ";
mysql_query($sql);
// 부모 아이디에 UPDATE
mysql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
mysql_query(" insert into g4_board_new ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
mysql_query("update g4_board set bo_count_write = bo_count_write + 1 where bo_table = '$bo_table'");
endif;
endwhile;
closedir($dr);
endif;
?>
/lib.parse.php 의 내용
<?php
//파일의 확장자를 구하는 함수
function get_extension($file){
return strtolower(substr(strrchr($file,"."),1));
//파일의 확장자를 구하는 함수
$info = @getimagesize($file);
if(!$info)
return '';
switch($info[2]) {
case 1:
return 'gif';break;
case 2:
return 'jpg';break;
case 3:
return 'png';break;
case 4:
return 'zip';break;
case 5:
return 'hwp';break;
case 6:
return 'doc';break;
case 7:
return 'xls';break;
case 8:
return 'ppt';break;
default :
return '';
}
}
//임시 번호를 생성하는 함수
function get_unique_code($prefix = ""){
$prefix = $prefix ? $prefix : "mk_";
return $prefix.mt_rand(10000, 99999).'_'.mt_rand(10000, 99999);
}
function get_unique_file($file){
$ext =get_extension($file);
$code= get_unique_code();
return $code.'.'.$ext;
}
//flag는 리눅스 인지, 윈도우인지, 리눅스의 경우 false, 윈도우의 경우 true
function fsockopen_func($url) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = fsockopen($request, 80, $errno, $errstr, 3);
if (!$fp) {
return false;
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
$content_arr = explode("\r\n\r\n", $content);
if($content_arr[1] ==false)
return '';
else
return $content_arr[1];
}
}
//잡코리아를 파싱하는 경우
function fsockopen_func_jobkorea($url, $flag= true) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = @fsockopen($request, 80, $errno, $errstr, 5);
if (!$fp) {
return '';
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
if(preg_match("/HTTP\/1\.1 200/", $content)==false)
return '';
//echo "done";
$content_arr = explode("\r\n", $content);
return $content_arr;
}
}
//알바몬을 파싱하는 경우
function fsockopen_func_albamon($url, $flag= true) {
$url_arr = parse_url($url);
$request = $url_arr['host'];
$get_value = $url_arr['path'].'?'.$url_arr['query'];
$fp = @fsockopen($request, 80, $errno, $errstr, 5);
if (!$fp) {
return false;
} else {
$out = "GET $get_value HTTP/1.1\r\n";
$out .= "Host: $request\r\n";
$out.= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$content .= fgets($fp, 128);
}
fclose($fp);
if(preg_match("/HTTP\/1\.1 200/", $content)==false)
return '';
$content_arr = explode("<?xml", $content);
return $content_arr[1];
}
}
?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 954 | |
| 25482 | |
| 22846 | |
| 22845 | |
| 22841 | |
| 22838 | |
| 22834 | |
| 22832 | |
| 13986 |
MySQL
정말 초보의 질문입니다..!!
8
|
| 22823 | |
| 22818 | |
| 945 | |
| 941 | |
| 22815 | |
| 25478 | |
| 25477 | |
| 22811 | |
| 22799 | |
| 22797 | |
| 22789 | |
| 940 | |
| 22773 | |
| 939 | |
| 22768 | |
| 22762 | |
| 22761 | |
| 22758 | |
| 22754 | |
| 933 | |
| 13984 | |
| 25476 | |
| 25475 | |
| 931 | |
| 22751 | |
| 22747 | |
| 22744 | |
| 25474 | |
| 22739 | |
| 22735 | |
| 22727 | |
| 25473 | |
| 25472 | |
| 22722 | |
| 929 | |
| 22713 | |
| 928 | |
| 22708 | |
| 22696 | |
| 22692 | |
| 923 | |
| 22687 | |
| 22682 | |
| 22675 | |
| 22652 | |
| 22644 | |
| 22632 | |
| 917 | |
| 911 | |
| 897 | |
| 25471 | |
| 22628 | |
| 22626 | |
| 25470 | |
| 13983 | |
| 891 | |
| 22615 | |
| 13976 |
Flash
이거 어떻게 만들어야 하나요?
6
|
| 22610 | |
| 22607 | |
| 22602 | |
| 22600 | |
| 13960 | |
| 22596 | |
| 888 | |
| 29564 | |
| 29563 | |
| 22588 | |
| 22583 | |
| 13959 | |
| 13957 | |
| 22571 | |
| 22557 | |
| 22550 | |
| 22548 | |
| 29561 |
HTML
오라클 dump 하기~
1
|
| 29560 |
HTML
공백 및 특수 문자 처리
|
| 13954 | |
| 13953 | |
| 29559 | |
| 13950 | |
| 13949 | |
| 13948 | |
| 29558 | |
| 13947 | |
| 13946 |
JavaScript
일본어,중국어 특정한문 DB에서 깨지는 현상~~
|
| 22541 | |
| 22538 | |
| 885 | |
| 22532 | |
| 22515 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기