사이트맵 생성하려고하는데요
본문
PHP Warning: Invalid argument supplied for foreach() in /opt/lampp/htdocs/m3googlesitemap.php on line 23
이렇게 오류가 뜨네요 ㅠㅠ 소스에 문제가있을까요
<?php
// m3 google sitemap ver 1.23 by mahler83 2009-11-16
// please give feedbacks to bomool.net
include_once("./_common.php");
$charset = $g5['charset'];
$url = "http://abc.com"; // G5 루트 경로
header("Content-type: text/xml;charset=\"UTF-8\"");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9/">
<?php
$query = sql_query("select bo_table from `{$g5['board_table']}` where bo_read_level='1'");
while($temp = sql_fetch_array($query)) {
$bo_arr[] = $temp['bo_table'];
}
$i = 1;
foreach($bo_arr as $bo) {
// list of bo_table
echo "<url>\n";
echo "<loc>$url/bbs/board.php?bo_table=$bo</loc>\n";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` order by wr_datetime DESC");
$lastmod = str_replace(" ", "T", substr($temp['wr_datetime'], 0, 30))."+00:00";
// if
if(!$lastmod || strlen($lastmod) < 25 || strcmp($lastmod, "+00:00")) $lastmod = "2014-10-10T00:00:00+00:00";
echo "<lastmod>$lastmod</lastmod>\n";
echo "<changefreq>daily</changefreq>\n";
echo "<priority>0.9</priority>\n";
echo "</url>\n";
$query = sql_query("select wr_id, wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_is_comment='0' AND wr_option NOT LIKE '%secret%'");
while($row = sql_fetch_array($query)) {
// list of each article
echo "<url>";
echo "<loc>$url/bbs/board.php?bo_table=$bo&wr_id={$row['wr_id']}</loc>";
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}{$bo}` where wr_parent='{$row['wr_id']}' order by wr_id DESC");
$lastmod = str_replace(" ", "T", substr($temp["wr_datetime"], 0, 30));
$lastmod = date('c', strtotime($lastmod));
if(!$lastmod) {
$temp = sql_fetch("select wr_datetime from `{$g5['write_prefix']}$bo` where wr_id='{$row['wr_id']}'");
$lastmod = str_replace(" ", "T", substr($temp["wr_datetime"], 0, 30));
$lastmod = date('c', strtotime($lastmod));
}
if(!$lastmod) $lastmod = $g5['time_ymd'];
echo "<lastmod>$lastmod</lastmod>";
echo "<changefreq>weekly</changefreq>";
echo "<priority>0.5</priority>";
echo "</url>\n";
}
$i++;
}
?>
</urlset>
답변 4
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9/">
<?php
$bo_arr = array(); // <-추가
$query = sql_query("select bo_table from `{$g5['board_table']}` where bo_read_level='1'");
while($temp = sql_fetch_array($query)) {
$bo_arr[] = $temp['bo_table'];
}
$i = 1;
foreach($bo_arr as $bo) {
배열안에 공백이 든 변수가 존재 하지 않는지 확인해 보세요
for문 위에
var_dump( $bo_arr );
exit;
이렇게 찍어서 배열에 무슨값이 들어있는지 확인해보세요~~
답변을 작성하시기 전에 로그인 해주세요.