제로보드4는 공식적으로 더 이상 개발되지도 배포되지도 않습니다.
제로보드4를 사용하기 위한 팁보다 제로보드4를 안전하고 무사히 다른 툴로 이전하는 팁들을 게재해주시면 감사하겠습니다.
시간이 오래 지난 만큼 오래된 프로그램은 보안 및 사용성에 있어 문제가 많으니 이해 바랍니다.
기본적으로 게시판에서 파일업로드를 하면 http://주소/제로보드/data/게시판id/ 이런식으로 업로드가 되는것을 바꾸는것입니다.
제로보드의 write_ok.php 파일을 수정합니다. (몰론 이것을 data 폴더가 아닌 다른폴더로도 바꿀수가 있습니다.)
다음 부분을 찾습니다. (수정할 부분 2군데, file_name1 부분과 file_name2 부분 / 파일 업로드1과 2라고 보시면됨)
// 디렉토리를 검사함
if(!is_dir("data/".$id)) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/".$s_file_name1)) {
@mkdir("data/$id/".$reg_date,0777);
if(!move_uploaded_file($file1,"data/$id/".$reg_date."/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/".$reg_date."/".$s_file_name1;
@chmod($file_name1,0706);
@chmod("data/$id/".$reg_date,0707);
} else {
if(!move_uploaded_file($file1,"data/$id/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/".$s_file_name1;
@chmod($file_name1,0706);
}
위 부분을 아래처럼 바꿔줍니다.
즉 특정 게시판만 업로드시에 폴더를 하나 더 생성하여 그 안에다 집어넣는것입니다
생성할 폴더명은 영어나 숫자로 똑같은 폴더로 입력 해주시길 (한글로된 폴더는 테스트를 안해봐서 안될수도 있습니다)
if($id==게시판id){
// 디렉토리를 검사함
if(!is_dir("data/$id/생성할 폴더명")) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
@mkdir("data/$id/생성할 폴더명",0777);
@chmod("data/$id/생성할 폴더명",0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/생성할 폴더명".$s_file_name1)) {
@mkdir("data/$id/생성할 폴더명/".$reg_date,0777);
if(!move_uploaded_file($file1,"data/$id/생성할 폴더명/".$reg_date."/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/생성할 폴더명/".$reg_date."/".$s_file_name1;
@chmod($file_name1,0706);
@chmod("data/$id/생성할 폴더명/".$reg_date,0707);
} else {
if(!move_uploaded_file($file1,"data/$id/생성할 폴더명/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/생성할 폴더명/".$s_file_name1;
@chmod($file_name1,0706);
}
} else { // 위에 해당되는 게시판이 아닌경우
// 디렉토리를 검사함
if(!is_dir("data/".$id)) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/".$s_file_name1)) {
@mkdir("data/$id/".$reg_date,0777);
if(!move_uploaded_file($file1,"data/$id/".$reg_date."/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/".$reg_date."/".$s_file_name1;
@chmod($file_name1,0706);
@chmod("data/$id/".$reg_date,0707);
} else {
if(!move_uploaded_file($file1,"data/$id/".$s_file_name1)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name1="data/$id/".$s_file_name1;
@chmod($file_name1,0706);
}
}
2업째 업로드인 file_name2 부분도 찾아서 수정해줍니다.
// 디렉토리를 검사함
if(!is_dir("data/".$id)) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/".$s_file_name2)) {
@mkdir("data/$id/".$reg_date,0777);
if(!move_uploaded_file($file2,"data/$id/".$reg_date."/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/".$reg_date."/".$s_file_name2;
@chmod($file_name2,0706);
@chmod("data/$id/".$reg_date,0707);
} else {
if(!move_uploaded_file($file2,"data/$id/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/".$s_file_name2;
@chmod($file_name2,0706);
}
위 부분을 아래처럼
=>
if($id==게시판id){
// 디렉토리를 검사함
if(!is_dir("data/$id/생성할 폴더명")) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
@mkdir("data/$id/생성할 폴더명",0777);
@chmod("data/$id/생성할 폴더명",0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/생성할 폴더명".$s_file_name2)) {
@mkdir("data/$id/생성할 폴더명/".$reg_date,0777);
if(!move_uploaded_file($file2,"data/$id/생성할 폴더명/".$reg_date."/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/생성할 폴더명/".$reg_date."/".$s_file_name2;
@chmod($file_name2,0706);
@chmod("data/$id/생성할 폴더명/".$reg_date,0707);
} else {
if(!move_uploaded_file($file2,"data/$id/생성할 폴더명/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/생성할 폴더명/".$s_file_name2;
@chmod($file_name2,0706);
}
} else { // 위에 해당되는 게시판이 아닌경우
// 디렉토리를 검사함
if(!is_dir("data/".$id)) {
@mkdir("data/".$id,0777);
@chmod("data/".$id,0706);
}
// 중복파일이 있을때;;
if(file_exists("data/$id/".$s_file_name2)) {
@mkdir("data/$id/".$reg_date,0777);
if(!move_uploaded_file($file2,"data/$id/".$reg_date."/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/".$reg_date."/".$s_file_name1;
@chmod($file_name2,0706);
@chmod("data/$id/".$reg_date,0707);
} else {
if(!move_uploaded_file($file2,"data/$id/".$s_file_name2)) Error("파일업로드가 제대로 되지 않았습니다");
$file_name2="data/$id/".$s_file_name2;
@chmod($file_name2,0706);
}
}
수정을 다하고 나시면 특정게시판에서 업로드할때 파일의 위치가 이렇게 바뀔것입니다.
http://주소/제로보드/data/ 게시판id/생성한 폴더명/
이 위치에 업로드가 됩니다.

먼저 게시판에서 파일업로드를 1회를 하고난 뒤에 폴더를 수정해야만 그 폴더에 업로드가됨