2017-02-22 21 views
2

は、これは私の動的なサイトマップのためのファイルsitemap.phpに私のコードですが、私はいつもsitemap.Thisためsitemap.xmlとを考えるため、Googleの印刷または「sitemap.xmlと」でこのページ全体のデータを表示したいですページは正常に動作していますが、すべてのデータが必要ですsitemap.xml。 これを行う方法は?sitemap.xmlのsitemap.phpデータを表示または表示するにはどうすればよいですか?

<?php 
header("Content-type: text/xml"); 
echo '<?xml version="1.0" encoding="UTF-8" ?>'; 
include 'includes/connectdb.php'; 
?> 

<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd"> 

    <url> 
     <loc>http://www.mobilesapp.com/</loc> 
     <priority>1.00</priority> 
    </url> 

<?php 
    $stmt = $con->prepare("SELECT url,modified FROM localnews"); 
    $stmt->execute(); 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    foreach($rows as $row){ 
?> 
<url> 
    <loc>http://www.mobilesapp.com/<?= $row['url'] ;?></loc> 
    <lastmod><?= $row['modified']; ?></lastmod> 
    <changefreq>always</changefreq> 
    <priority>1</priority> 
</url> 
<?php } ?> 

<?php 
    $stmt = $con->prepare("SELECT url,modified FROM socialnews"); 
    $stmt->execute(); 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    foreach($rows as $row){ 
?> 
<url> 
    <loc>http://www.mobilesapp.com/<?= $row['url'] ;?></loc> 
    <lastmod><?= $row['modified']; ?></lastmod> 
    <changefreq>always</changefreq> 
    <priority>1</priority> 
</url> 
<?php } ?> 

</urlset> 
+0

ファイルヘッダ( 'コンテンツタイプ:text/xmlで')の開始時に、このコードを試してください。 header( 'Content-Disposition:attachment; filename = "sitemap.xml"'); – user247217

+0

書き換えルールが必要です。 PHPファイルの内容を削除するだけです。必要なのは、別のURLの応答として表示することだけです。あなたのコードは、私のPHPファイルをXMLファイルにダウンロードするだけです。 –

+0

@ user247217 ** sitemap.xml ** –

答えて

1
<?php 
    $xml = '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">'; 
    // mysql select 
    foreach ($rows as $row) { 
     // add next part to xml 
     $xml .= ' 
     <url> 
      <loc>http://www.mobilesapp.com/'.$row['url'].'</loc> 
      <lastmod>'.$row['modified'].'</lastmod> 
      <changefreq>always</changefreq> 
      <priority>1</priority> 
     </url> 
     '; 
    } 
    $xml .= '</urlset>'; 
    // show 
    echo $xml; 
    // and save to file 
    file_put_contents('sitemap.xml', $xml); 
    ?> 
+0

file_put_contents( 'sitemapxml.xml'、$ xml);それは私の既に存在するファイルに書き換えません。 –

関連する問題