new_multi_upload.zip

많은분들이 좋아하시며... 제맘에도 쏙드는.. 무제한 업로드 팁이 살짝 업그레이드 되었습니다...

첨부화일에 설명을 달수 있게 해달라고 요청하시는분들이 워낙 많으셔서리...(개인적으로 저는... 별로 상관없다고 생각했었는데 말이죠... ㅋㅋ)

기존과 같은 기능에.. 업로드되는 화일에 설명을 달수 있게 수정되었습니다...

일단 이곳에는 적용되어있구요....

음.. 설치법도 기존과 동일하고.. 인클루드하는 화일들만 약간 달라진거라.. 이미 쓰고 계신분들이라도 쉽게 업데이트 하실수 있습니다....



처음 설치하는 분들을 위한 설치법

1. 제로보드의 write_ok.php 에서

// MySQL 닫기 를 찾아 그 윗줄에 아래 소스를 넣어줍니다.

if ($setup[use_pds] ==1 ) {
$upload_dir = "./data/".$id."/";
if (!is_dir("$upload_dir")) {
@mkdir($upload_dir,0777);
}
include "upload_write_ok.php";
}







2. 제로보드의 delete_ok.php 에서

// 파일삭제
@z_unlink("./".$s_data[file_name1]);
@z_unlink("./".$s_data[file_name2]);

위와 같은 부분을 찾아 그 아랫줄에 아래 소스를 넣어줍니다.


$upload_dir = "./data/".$id."/";
if (is_dir("$upload_dir")) {
include "upload_delete_ok.php";
}









3. 제로보드의 list_all.php 에서


// 파일삭제
@z_unlink("./".$s_data[file_name1]);
@z_unlink("./".$s_data[file_name2]);

위와 같은 부분을 찾아 그 아랫줄에 아래 소스를 넣어줍니다.



$upload_dir = "./data/".$id."/";
if (is_dir("$upload_dir")) {
$no = $selected[$i];
include "upload_delete_ok.php";
}


그리고나서...조금 밑에..


// Comment 정리

를 찾아서 그 윗줄에 아래 내용을 모두 넣어줍니다.


//멀티 업로드로 업로드된화일 복사
$upload_dir = "./data/".$id."/";
if (is_dir("$upload_dir")) {
$file_list=array();
$rep=opendir($upload_dir);
while ($file = readdir($rep)) {
if($file != '..' && $file !='.' && $file !=''){
$file_temp = explode("^",$file);
if (($file_temp[0] == round(filesize($upload_dir.$file)/1024+0.5)) && $file_temp[1] == $data[no])
{
$file_list[]=$file;
}
if (substr($file,-4) == ".txt" && file_exists(substr($upload_dir.$file,0,-4))) {
$file_list[]=$file;
}
}
}
if (sizeof($file_list) > 0)
{
$new_upload_dir = "./data/".$board_name."/";
if (!is_dir("$new_upload_dir")) {
@mkdir($new_upload_dir,0777);
}
for($i=0;$i<count($file_list);$i++)
{
$imsi_file=explode("^",$file_list[$i]);
$new_file = $imsi_file[0]."^".$no."^".$imsi_file[2]."^".$imsi_file[3];
copy($upload_dir.$file_list[$i],$new_upload_dir.$new_file);
if (file_exists($upload_dir.$file_list[$i].".txt")) {
copy($upload_dir.$file_list[$i].".txt",$new_upload_dir.$new_file.".txt");
}
}
}
}
//










4. 스킨의 view.php 에서

업로드 된 이미지나 화일들이 표시되길 원하는 곳에 다음과 같이 한줄 넣어줍니다.
(저 같은 경우엔 $memo 가 나오는 줄 아랫줄에 넣어주었습니다. 물론 html 구조에 유의하며 <td> 와 </td> 사이에 넣었죠. .^^)

<?include "upload_skin_view.php";?>









5. 스킨의 write.php 에서


현재의 스킨구조에 잘 어울리게 업로드필드가 있는 한줄을 복제하여 추가합니다.

샘플:
<tr>
<td>파일 첨부 1</td>
<td><input type=file name=file1 ...생략....></td>
</tr>

그리고... 복제한 한줄에 왼쪽의 td 에는 원하시는 타이틀 (저는 '파일 첨부') 라고 쓰시고
오른쪽의 td 에 <?include "upload_skin_write.php";?> 라고 input 태그 대신에 넣어주시면 됩니다.

샘플:
<tr>
<td valign=middle width="70" align="right" style="padding-right:10;" class=8pt>
파일 첨부
</td>
<td>
<?include "upload_skin_write.php";?>
</td>
</tr>

기존의 스킨 구조가 사용자 마다 다르기때문에 딱! 이거다 라고 말씀드릴순 없지만, 설명을 잘 이해하시고 적절한 위치에 삽입하여 주십시오.

결론은.. input 태그대신 <?include "upload_skin_write.php";?> 를 넣으시면 된다는겁니다.


그리고 글쓰기창 하단에 글작성버튼옆에 나오는 취소 (또는 목록으로) 버튼 의 링크를 아래처럼 바꾸어줍니다.

<a href="upload_cancel.php?id=<?=$id?>" onfocus=this.blur();>이미지 또는 텍스트</a>

(아마 원래는 history.back(); 이나 window.history.go(-1); 로 되어있을겁니다.)






6. 이전 팁인 "깔끔한 무제한 멀티 업로드 !!! 강추 ^^" 의 첨부파일을
다운로드 하셔서 압축을 푸십니다.








7. upload_conf.php 화일을 여셔서 상단에 설정할수 있는 부분을 알맞게 설정하여 주십시오.






8. 설정후 저장하시고 image 폴더를 포함해서 모두 제로보드 폴더에 넣어줍니다.







9. 그리고 이 글에 첨부되어있는 화일들을 받으셔서 방금 업로드 하신곳에 업로드 해주십니다... 덮어씌우시라는 말씀이죠... 이때 arrangefile2.php 는 admin 폴더에 넣으시고 upload_conf.php 는 덮어씌우실 필요 없습니다.








업뎃하시는 분들을 위한 설치법...


list_all.php 의 내용을 위의 설명처럼 바꿔주시구요...

업로드한 화일들로 다시 제로보드 폴더에 있는 화일들을 다 덮어 씌우시면 땡~ 입니다.

이때 arrangefile2.php 는 admin 폴더에 넣으시고 upload_conf.php 는 덮어씌우실 필요 없습니다.



추신: 화일들의 이름을 보시면 아시겠지만, upload_skin_write.php 에서는 글쓰기 보여지는 부분을, upload_skin_view.php 에서는 글내용 보기에서 표시되는 부분이 들어있으니... 겉모습을 수정하고 싶으시면 그 화일들을 적절히 수정하여 주세요 ^^.



추가: 아무 처리 없이 관리자 페이지에서 첨부화일 정리를 실행후 쓰레기 화일 정리를 실행하시면... 올라간 화일들이 다 사라집니다... 첨부된 arrangefile2.php 를 admin 폴더에 꼭 넣어주세요.. !!!!!!!!!!!!!!!

그게 귀찮으시면.. 첨부화일 정리 기능을 절대로!!
실행하지 마십시오...ㅋㅋㅋ


p.s: 2005년 9월 30일 금요일 4시 42분 55초 이전에 받으셨던분들은..
다시한번 화일을 덮어씌우시고 list_all.php 의 내용도 확인 바랍니다... 수정되었습니다..

충분한 테스팅이 없엇더니.. 좀 구린부분이 있었네요..^^

'웹스터디 > php' 카테고리의 다른 글

php 연산자  (0) 2008.12.26
설치형 게시판 종류를 알아보자  (0) 2008.10.25
설치형 게시판의 종류 (PHP)  (0) 2008.10.25
랜덤 배경 이미지  (0) 2008.06.21
무제한 멀티 업로드  (0) 2008.05.23
테이블 생성  (0) 2008.05.21
php?변수명=변수값&변수명2=변수값2 ...  (0) 2008.05.21
자바스크립트 기초  (0) 2008.05.21
MySQL 질의문  (0) 2008.05.21
mysql 테이블복구(최적화)하기  (0) 2008.05.21
by Anna 안나 2008. 5. 23. 18:53