Jan.01

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

/*
PicLens XML Parser for ImageVue Image Gallery
Coder by Victorious
Web : https://muzaffer.akyil.net & Gallery : https://muzaffer.akyil.net/galeri
*/

//Tanımlar
$title = "Muzaffer AKYIL - Photographer"; //Sayfa Başlığı
$desc = "Muzaffer AKYIL Photographer"; //Sayfa Açıklaması
$link = "https://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.'
        <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
                <guid>$x</guid>
                <media :thumbnail url=\"$thumb\"></media>
                <media :content url=\"$normal_file\" type=\"image/jpeg\"></media>
        </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.

PHP,Internet
Share this Story:
  • facebook
  • twitter
  • gplus

About Muzaffer Ali AKYIL

Merhabalar, Adım Muzaffer Akyıl, Bilgi teknolojileri ile içli dışlı, teknolojiyi yakından takip eden, web ve masaüstü programlama ile uğraşıp, saatlerce kastığı şeyleri hiç bir karşılık beklemeden paylaşmayı amaç eden biriyim.


Yorumlar(3)

  1. Simto Alev
    3346 days önce

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

  2. Hasan
    3264 days önce

    Bende kendi flash web foto galerimiphp ile yönetmek istiyorum. ekleme silme yapmak istiyorum. dosyalar xml içinde mevcut. yani xml i açacak okuyacak ve güncelleyecek…
    yukardaki sistemle mümkün mü?

  3. Hasan
    3264 days önce

    yukardaki mesaj için içerik bu şekilde
    “”

    “”
    “t6.jpg”
    “6.jpg”
    “”
    “”
    “”
    “t2.jpg”
    “2.jpg”
    “”
    “”

    “”

Bir yorum bırak

 

Comment