티스토리 뷰
이 페이지는 입력을 받는 부분으로 iframe을 이용해 현재 페이지 내에서 파일의 업로드와 삭제가 가능하게 만들었다
또한 댓글을 달면 계층이 생기게끔 만든 계층형 게시판으로서 먼저 올라온 글을 출력해 주는 부분을 만들었다
질문일 경우 view프로그램에서 idx값을 가져오게 된다 idx값이 없다면 리스트에서 글쓰기를 한것이고
값이 있다면 view프로그램에서 댓글을 선택한게 된다
계층을 위한 변수
$idx, $content, $subject
업로드 다운로드를 위한 스크립트
fileupload()
file_delete()
사용기법
iframe을 이용한 처리기법
히든박스의 이유
저장프로그램인 write_ok.php로 갈때 가져가야 할 값들을 가져가기 위해 있는 값들
사용되는 Table
T_study -> 게시판의 내용이 저장되는 테이블
t_file -> 파일의 사이즈와 이름 다운로드 횟수등이 저장되는 테이블
스크립트 부분
function send() {
if(fn.subject.value=="") {
alert("제목을 입력하세요");
fn.subject.focus();
return;
}
if(fn.content.value=="") {
alert("내용을 입력하세요");
fn.content.focus();
return;
}
if(document.all.group.value=="0"){
alert("세부 게시판을 선택해 주세요");
document.all.group.focus();
return;
}
var filecnt=document.all.filelist.options.length;
for(var i=0;i
fn.target="_self";
// action과 target은 파일 업로드로 변경된 것을 다시 변경 시켜주는것이다
fn.submit();
}
//-------------------------------파일 전송 ----------------------------------------
function fileupload() {
fn.target="uploadform";
fn.action="upload.php";
fn.submit();
}
function file_delete() {
fn.target="uploadform";
fn.action="filedelete.php";
fn.submit();
// 파일업로드를 위한 멀티 셀렉트 박스
// 파일업로드 시킬 버튼과 투명도 조절
<input name="file" type="file" id="file" onChange="fileupload()">
// 아이프래임으로 감쳐논 또 다른 페이지
<iframe src="" name="uploadform" style="display:none;"></iframe>
// 레이어 1의 스타일
#Layer1 {
position:absolute;
height:0;
z-index:1;
width: 100;
}
숨겨져있는 아이프래임 파일 업로드소스 이름 : upload.php
include("../include/config.php");
$sql = "select ifnull(max(c_idx)+1,1) from t_file";
$rs = mysql_query($sql);
$idx = mysql_result($rs,0,0);
if(@copy($HTTP_POST_FILES["file"]["tmp_name"],"data/$idx")) {
$filename=$HTTP_POST_FILES["file"]["name"];//업로드된 원본 파일명
$size=$HTTP_POST_FILES["file"]["size"];//업로드된 파일의 크기(byte)
$sql="insert into t_file(c_idx,c_file,c_size,c_down) values('$idx','$filename','$size','0')";
if(mysql_query($sql)) {
echo("
<script language='javascript'>
var myEle = document.createElement('option');
myEle.text = '$filename';
myEle.value = $idx;
parent.fn.filelist.add(myEle);
</script>
");
}
else {
echo("<script>
alert('1파일업로드를 하지 못했습니다.');
</script>");
}
mysql_close();
}
else echo("<script>
alert('313파일업로드를 하지 못했습니다.');
</script>");
?>
//숨겨져있는 아이프래임의 파일삭제 이름 : filedelete.php
include("../include/config.php");
$cnt = count($filelist);
$filenum=join("','",$filelist);
$sql = "delete from t_file where c_idx in ('$filenum')";
echo $sql;
if(@mysql_query($sql)); {
for ($i=0;$i<$cnt;$i++) {
unlink("data/$filelist[$i]");
}
?>
<script language="javascript">
var filecnt=parent.fn.filelist.options.length-1;
for(var i=filecnt;i>=0;i--) {
// 큰값부터 지우고 내려오는 이유는 작은것부터 삭제했을경우 번호들이 한단계식 낮아지기 때문에
// 나중에 반복해야 하는 갯수가 실제 갯수보다 작아져 스크립트 오류를 낸다
// -1을 해준 이유는 셀렉트 박스의 일련 번호는 0부터 시작하지만 갯수체크는 1부터 시작하기 때문이다
if(parent.fn.filelist.options[i].selected==true)
parent.fn.filelist.options.remove(i);
}
</script>
}
?>
출처 : naver 지식iN 답변
http://kin.naver.com/db/detail.php?d1id=1&dir_id=10111&eid=lIVPYZCUmq7viqML3bD7g7c16MdYNwLh&qb=UEhQIMbEwM8gv6m3r7CzILW/vcMgvve3zrXl
- Total
- Today
- Yesterday
- gmlduqrhdwn
- judyOh blog
- naplez.net [ SCJP 1.4 ]
- DB
- web
- 한글 Mozilla 포럼 [실전웹표준가이드]
- (블로그)웹표준연구소 [마루아라소프트]
- 웹 프로그램 및 디자인관련 강좌 사이트
- (블로그)검색엔진 최적화 | 검색엔진 마케팅
- DB 툴 [DB에 대한 정보]
- PHP( 객체 지향 언어로써의 PHP )
- w3c표준규격 번역
- 서버 주무르기
- 검색엔진 마스터
- apache-kr.org
- 한국 썬 개발자 네트워크
- 검색엔진 최적화 블로그
- 피라시스닷컴(SVN관련)
- 웹기반 DNS 서비스 DNSEver.com
- JEUS / Tmax / WebtoB
- 웹기반 무료 DNS서버
- JAVA 강좌
- 少年易老學難成, 一寸光陰不可輕. 未覺池塘春草夢, 階前梧…
- MyJavaServer ( JSP 무료 호스팅 )
- I GOT IT (IT`S CRADLE & INCUBA…
- Todayis(HS)
- oracleclub.com
- Prototype (JavaScript Framewor…
- JSPWiki (openframework.or.kr)
- 제갈장비(JAVA_BLOG)
- jakartaproject
- Oracle_download
- jQuery plugin
- Test
- 안드로이드 앱 개발
- 행복한 개발자입니다.
- Flex & etc
- Flex & Design
- (iBatis)참고
- FLEX참고 사이트
- 대용량파일에 대한 watchservice 참고
- win7 update pack
- mysql
- Eclipse
- CSS
- php
- 뚜비
- apache
- 머먹구사냐
- excel
- 비교문
- DOM
- 자동증가
- 구글
- vi
- SEO
- 시퀀스생성
- java
- find
- 다운로드
- mybatipse #egovframework3.8
- 오라클
- sw기술자 경력관리
- 롤링
- derby
- 정보보호전문자격
- GD
- iBatis
- flex
- ASP
- Linux
- Ajax
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |