A 게시판의 마지막 10개 파일의 첨부 파일을 배열로 만들려면 어떻하나요?
본문
A게시판에서 10개의 게시물에 각각 1개씩 mp3 파일을 저장했습니다. (총 10개)
이 파일들의 경로를 불러와서 배열을 만들려고 합니다.
그런데 불러오는 페이지가 루트의 index.php입니다. (게시판 list.php가 아님)
$sql = "select... 해서 A 게시판을 지정하고, 그 첨부 파일 url과 이름을 가져와야 하며,
for 등으로 10번을 카운트 한 다음에
$url01 = "경로와 파일명";
이렇게 해야 할 거 같은데... 잘 안 되네요. ㅠ.ㅠ
(배열을 못 만들어서 그런가 봐요. 정규식에 큰 약점이 있어요. ㅡ.ㅡ;;)
결론적으로 특정 게시판의 10개 게시물의 첨부파일 경로를 가져와서 변수 저장하는 건데,
코드나 예제 소스 등을 도움받았으면 합니다.
답변 4
$bo_table = 'table';
$write_table = $g5['write_prefix'].$bo_table;
$sql = "select a.wr_id as id, b.bf_source as source, b.bf_file as fname
from {$write_table} as a left join {$g5['board_file']} as b ON a.wr_id = b.wr_id
where a.wr_is_comment = '0' order by a.wr_datetime desc limit 10";
$res = sql_query($sql);
$file = array();
for($i=0;$row=sql_fetch_array($res);$i++) {
$file[$i]['id'] = $row['id'];
$file[$i]['source'] = $row['source'];
$file[$i]['fname'] = $row['fname'];
}
대략 이런식으로 배열을 만들면 되지 않을까요?
파일 경로는 지금 생각이 안나서 빼놨습니다.
!-->게시판의 리스트에서는 첨부파일의 경로와 파일명을 추출할 수 있을 거에요.
그럼 리스트페이지를 curl 로 긁어서 원하는 문자열만 추출하여 순차적으로 변수에 담을 수 있을 것입니다.
아래처럼 사용한다는 분도 있던데, 이런 경우엔 어떻게 echo문을 써서 확인해 볼 수 있나요?
function get_file_my($bo_table, $wr_id)
{
global $g5, $qstr;
$file['count'] = 0;
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
$no = $row['bf_no'];
$file[$no]['href'] = G5_BBS_URL."/download.php?bo_table=$bo_table&wr_id=$wr_id&no=$no" . $qstr;
$file[$no]['download'] = $row['bf_download'];
// 4.00.11 - 파일 path 추가
$file[$no]['path'] = G5_DATA_URL.'/file/'.$bo_table;
$file[$no]['size'] = get_filesize($row['bf_filesize']);
$file[$no]['datetime'] = $row['bf_datetime'];
$file[$no]['source'] = addslashes($row['bf_source']);
$file[$no]['bf_content'] = $row['bf_content'];
$file[$no]['content'] = get_text($row['bf_content']);
//$file[$no]['view'] = view_file_link($row['bf_file'], $file[$no]['content']);
$file[$no]['view'] = view_file_link($row['bf_file'], $row['bf_width'], $row['bf_height'], $file[$no]['content']);
$file[$no]['file'] = $row['bf_file'];
$file[$no]['image_width'] = $row['bf_width'] ? $row['bf_width'] : 640;
$file[$no]['image_height'] = $row['bf_height'] ? $row['bf_height'] : 480;
$file[$no]['image_type'] = $row['bf_type'];
$file['count']++;
}
return $file;
}
$qq = sql_query("select * from {$g5['board_file_table']} where bo_table = '게시판명' bf_no=0 order by wr_id desc limit 0, 10");
while($row = sql_fetch_array($qq)){
$file[]=array($row['bf_source'], G5_URL.'/data/file/게시판명/'.$row['bf_file']);
}
print_r($file);