Eğer bir Önceki Dersimizi Okumadıysanız Dinamik Site Haritası Yapımı Ders1 Bir Önceki Dersimizi Okumanızı Tavsiye Ederim
Dinamik Sitemap Yapımı
Biz Sadece Php Dosyasıyla İlgileneceğiz ama işlemimizin sonunda sitemap.xml adında bir dosyamız daha oluşacak şimdi başlayalım
Öncelikle sitemap.php adında bir php sayfası oluşturup içine veritabanı bağlantımızı yapalım
<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);
/* Veri Tabanı Bağlantısı Yaptık */
?>
Evet Şimdi Veritabanımıza Bağlanık Şimdi veritabanımızdaki linkleri bir diziye atayalım
<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);
/* Veri tabanına Bağlanıp Tablomuzu Seçtik */
$i = 0;
$sql="select * from hikayeler";
$sorgu=mysql_query("$sql");
while ($sonuc=mysql_fetch_array($sorgu)){
$linkler[$i] = $sonuc[0];
/* $sonuc[0] yerine Siz Veritabanından link
nasıl çekebiliyosanız Ona Göre Düzenleyeceksiniz */
$i++; // Bir Sonraki Döngüde Diziye Yeni Bir eleman eklenmesi için
}
/* Yukarıdaki İşlemi Tüm link alacağınız Tablolarda Yapacaksınız
şimdi Tüm linklerimizi $linkler dizisine attım */
?>
Evet sitemizdeki tüm linkeri bir diziye attık sıra geldi xml dosyası oluşturmaya
<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);
/* Veri tabanına Bağlanıp Tablomuzu Seçtik */
$i = 0;
$sql="select * from hikayeler";
$sorgu=mysql_query("$sql");
while ($sonuc=mysql_fetch_array($sorgu)){
$linkler[$i] = $sonuc[0];
/* $sonuc[0] yerine Siz Veritabanından link
nasıl çekebiliyosanız Ona Göre Düzenleyeceksiniz */
$i++; // Bir Sonraki Döngüde Diziye Yeni Bir eleman eklenmesi için
}
/* Yukarıdaki İşlemi Tüm link alacağınız Tablolarda Yapacaksınız
şimdi Tüm linklerimizi $linkler dizisine attım */
$xml_yaz = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">';
for($j=0;$j<count($linkler);$j++)
$xml_yaz .= '<url><loc>'.$linkler[$j].'</loc><mobile:mobile/></url>';
// Tüm linklerimizi For döngüsüyle $xml_yaz değişkenine ekledik
$xml_yaz.='</urlset>'; // xml_yaz değişkenimizi burada tamamladık
/* Şimdi sitemap.xml dosyası oluşturup
içine xml_yaz daki verimizi yazdırıyoruz */
$file = fopen('sitemap.xml', 'w');
// sitemap.xml dosyası nı eğer sunucuda varsa açar yoksa
//yeni bir sitemap.xml dosyası oluşturduk
fwrite($file, $xml_yaz);
// sitemap.xml dosyamızın içine xml_yaz verisini yazdırdık
fclose($file); // açtığımız sitemap.xml dosyamızı kaydedip kapattık
?>
Evet arkadaşlar kodların içine gerekli açıklamayı yazdım Ama sizede söyleyeyim
İlk önce $xml_yaz adında değişken oluşturduk ve içine xml başlığımızı koyduk
daha sonra $xml_yaz değişkenimizin üzerine linklerimizi ekledik yani $xml_yaz .= ''deger';
bunun anlamı $xml_yaz ın üzerine 'deger' verisinide ekle anlamına geliyor.
tüm linklerimizi ekledikten sonra sıra geliyor $xml_yaz değişkenimizi sitemap.xml dosyamızın içine yazmaya
sitemap.xml dosyasını sunucunuzun kök dizinine yani root a bakar eğer orda sitemap.xml dosyası varsa onu açıp içine xml_yaz verisini yazar ama sitemap.xml dosyası root dizininizde yoksa yeni bir sitemap.xml dosyası oluşturulup içine veriler yazılıp kaydedilir
yani siz siteadiniz.com/sitemap.php sayfamızı bir kez çalıştırdıktan sonra siteadiniz.co/sitemap.xml adında site haritanız oluşacaktır
Hiç yorum yok:
Yorum Gönder