0
這是我的代碼來創建XML站點地圖。但問題是,當它創建xml文件時,它不包括<?xml version="1.0" encoding="UTF-8"?>
。它包括我函數中的每個標記wirteen,除了一個。PHP站點地圖生成器帶標記
// this variable will contain the XML sitemap that will be saved in $xmlfile
$xmlsitemap = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
$xmlfile=array('sitemapinternal.xml');
internalSiteMap($xmlsitemap, $xmlfile[0]);
//za one vijesti koje su unutar mog sajta /vijesti/kategorija/jSFh8
function internalSitemap($xmlsitemap, $xmlfile)
{
// Define and perform the SQL SELECT query
$sql = "SELECT * FROM table";
$result = $mysqli->query($sql);
// If the SQL query is succesfully performed ($result not false)
if($result !== false)
{
// Parse the result set, and add the URL in the XML structure
while($red=$result->fetch_assoc())
{
$xmlsitemap .=
'<url>
<loc>http://www.example.com</loc>
<priority>0.5</priority>
<changefreq>yearly</changefreq>
<lastmod>'.date('Y-m-d', strtotime($red['datum'])).'</lastmod>
</url>';
}
}
$xmlsitemap .= '</urlset>';
file_put_contents($xmlfile, $xmlsitemap); // saves the sitemap on server
}
'$ xmlsitemap'變量在函數中不可用。將其移入函數內部或將其作爲函數參數傳遞。閱讀更多關於[函數範圍](http://www.php.net/manual/en/language.variables.scope.php)。 –
一切正常,因爲這是代碼的一部分。我發送$ mysqli作爲參數。但主要的問題是,它不包含這行產生的.xml文件中的<?xml version =「1.0」encoding =「UTF-8」?>。我將$ xsitesitemap作爲函數參數 – FosAvance
嘗試連接:'$ xmlsitemap ='<'。 '?xml version =「1.0」encoding =「UTF-8」?' 。 '>';' –