PicLens XML Parser for ImageVue Image Gallery

Evet arkadaşlar uzun süredir bişiler karalamıyordum. Bu aralar işler baya yoğun. Geçenlerde çektiğim bazı fotoğrafları yayınlamak için bir galeri arayışına girdim. ImageVue ile tanıştım. Gayet başarılı bir galeri. Bu galeri yazılımını kullanarak kendi galerimi oluşturdum. Sonrasında Sağlam bir Firefox kullanıcısı olduğumdan Firefox eklentisi olan PicLens ile galeriyi entegre etmeye çalıştım. Ve sonuç olarak aşağıdaki kodlar meydana çıktı.

Öncelikle PicLens fotograflarımızın küçük hallerini ve büyük hallerini bir RSS (XML) içinde toplamamızı istiyor ve bu topladığımız bilgileri photos.rss adı aldında galerinin bulunduğu ana klasörde bulundurmamız gerekiyor. Aşağıda yazdığım php kodu galerimizin bulunduğu klasörler içindeki fotolarmızı araştırıp XML haline getiriyor. Bilindiği üzere RSS uzantısı text/plain bir uzantıdır. Öncelikle rss uzantısı ile php çalıştıracağımızı Apache Web Sunucusu yazılımına bildirmemiz gerekli. Bu sebepten galerinin kök dizinine .htaccess diye bir dosya oluşturup içine aşağıdaki kodu yazıyoruz.

.htaccess içeriği

AddType application/x-httpd-php .rss

Daha sonrasında aşağıdaki kodları photos.rss dosyasını oluşturarak içine yapıştırıyoruz.

photos.rss içeriği

<?php
/*
PicLens XML Parser for ImageVue Image Gallery
Coder by Victorious
Web : http://muzaffer.akyil.net & Gallery : http://muzaffer.akyil.net/galeri
*/
 
//Tanımlar
$title = "Muzaffer AKYIL - Photographer"; //Sayfa Başlığı
$desc = "Muzaffer AKYIL Photographer"; //Sayfa Açıklaması
$link = "http://muzaffer.akyil.net/galeri/"; //Sayfa Linki
$klasor = "./content"; //Fotoğrafların Bulunduğu Klasör
// Tanım Sonu
 
header("Content-Type: application/xml; charset=ISO-8859-9"); 
function ListFiles($dir) {
    if($dh = opendir($dir)) {
        $files = Array();
        $inner_files = Array();
        while($file = readdir($dh)) {
            if($file != "." && $file != ".." && $file[0] != '.') {
                if(is_dir($dir . "/" . $file)) {
                    $inner_files = ListFiles($dir . "/" . $file);
                    if(is_array($inner_files)) $files = array_merge($files, $inner_files); 
                } else {
				if(substr($file,-3) == 'jpg' || substr($file,-3) == 'JPG'){
					if(substr($file,0,2)!='tn') {
                    	array_push($files, $dir . "/tn_" . $file);
					}
				}
                }
            }
        }
        closedir($dh);
        return $files;
    }
}
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>'.$title.'</title>
        <link>'.$link.'</link>
        <description>'.$desc.'</description>
';
$x = 1;
foreach (ListFiles($klasor) as $key=>$file){
$normal_file = str_replace("tn_","",$file);
$thumb = $file;
echo "<item>
                <title>$x</title>
                <link>$file</link>
                <guid>$x</guid>
                <media :thumbnail url=\"$thumb\" />
                <media :content url=\"$normal_file\" type=\"image/jpeg\" />
        </item>";
$x = $x + 1;
}  
echo '</channel>
</rss>';
?>

Son olarak photos.rss içindeki Tanımlar bölümündeki bilgileri kendi galerimize göre değiştiriyoruz.

Artık galerinizin ana sayfasına girip PicLens butonuna tıklayabilirsiniz.

Kolay Gelsin.

Benzer Yazılar

Eğer yazıyı beğendiyseniz ya da ekleyecekleriniz varsa, lütfen yorumunuz yazın veya RSS aboneliği ile yeni yazılardan anında haberdar olun.

Yorumlar

Ellerine sağlık. Çok güzel olmuş. (:

Yorum Yazın

(gerekli)

(gerekli)


CAPTCHA image