Kategori » Web Tasarım

f4Player – Açık kaynak kodlu Flash video (flv) player scripti

Yazar: Caner | 30 Ağustos 2010 Pazartesi 21:04






f4Player oldukça basit tasarlanmış, skin desteği de bulunan açık kaynak kodlu bir flash video player scripti. Script sayesinde web sitenizde kolaylıkla flv ve f4v (ve sanırım mp4) türü video dosyalarını oynatabilirsiniz. Göker Cebeci isimli bir arkadaşımız tarafından geliştirilmeye başlanan scriptin demo sayfasına şu adresten, indirme sayfasına ise şu adresten ulaşabilirsiniz.

Scriptin kaynak kodu kısmında henüz indirip kurcalanabilecek bir içerik ve ayrıca sitesinde detaylı bir dökümantasyon sayfası bulunmuyor, ancak bu gibi eksiklikleri giderildikten sonra f4Player’ın popüler flash video oynatıcılar arasında anılacağından şüphe yok.

Kaliteli ve ücretsiz WordPress temaları için: Wpcorner.com

Yazar: Caner | 28 Ağustos 2010 Cumartesi 20:59






Wpcorner.com kaliteli ve ücretsiz WordPress temaları indirebileceğiniz alışılmışın dışında bir wp tema sitesi. Siteniz diler magazin, diler blog görünümlü olsun, amacına göre kategorize edilmiş onlarca tema arasından mutlaka kendinize uygun bir tane bulabilirsiniz.

Siteyi tanıtmak istiyorum ancak canım da çok fazla yazı yazmak istemiyor, buyrunuz: www.wpcorner.com

PHP – Klasör içerisinde arama yapmak

Yazar: Caner | 12 Ağustos 2010 Perşembe 22:34
Kategori: Php, Web Tasarım





PHP Script
Daha önce şu yazımızda php ile klasör içerisinde belirli bir uzantıya sahip dosyaları listelemeyi göstermiştik. Şimdi yine benzer bir uygulamayla klasör içerisindeki dosyalar arasında nasıl arama yapılabileceğini göreceğiz

HTML sayfa başlangıcı:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Egonomik.com :: PHP - Klasör içinde arama yapmak</title>
<style type="text/css">
body {
    font-family: Arial;
    font-size: 12px; }

.title {
    background:#4A4A4A;
    padding: 4px;
    font-size: 13px;
    color: #FFFFFF; }

.satir1 {
    background: #F2F2F2;
    padding: 4px;
    font-family: Arial;
    font-size: 11px; }

.satir2 {
    background: #F8F8F8;
    padding: 4px;
    font-family: Arial;
    font-size: 11px; }
</style>  
</meta></head>
<body>

Yazinin devamini okuyun »

PHP ile MP3 dosya bilgilerini (ID3 Tag) okumak

Yazar: Caner | 7 Ağustos 2010 Cumartesi 20:30
Kategori: Php, Web Tasarım





PHP Script
MP3 dosyalarının ID3 taglarını okumak üzere tasarlanmış oldukça kullanışlı ve basit bir PHP Class’ı. Bu class sayesinde mp3 dosyalarının; sanatçı, başlık, tarz, albüm, albüm yılı, parça sırası (track no) ve yorum bilgilerine kolaylıkla ulaşabilirsiniz (elbette dosyada bu tagların tanımlanmış olması gerekiyor).

Yapmanız gereken ilk iş aşağıdaki kodları id3.class.php ismiyle kaydetmek:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<?php

## PHP - MP3 ID3 Tag Class
## http://www.egonomik.com

class ID3{
   var $file_name=''; //full path to the file
              //the sugestion is that this path should be a
                      //relative path
   var $tags;   //array with ID3 tags extracted from the file
   var $last_error_num=0; //keep the number of the last error ocurred
   var $tags_count = 0; // the number of elements at the tags array

   /*********************/
   /**private functions**/
   /*********************/

   function hex2bin($data) {
   //thankz for the one who wrote this function
   //If iknew your name I would say it here

      $len = strlen($data);
      for($i=0;$i<$len;$i+=2) {
         $newdata .= pack("C",hexdec(substr($data,$i,2)));
      }
   return $newdata;
   }
   
   function get_frame_size($fourBytes){
      $tamanho[0] = str_pad(base_convert(substr($fourBytes,0,2),16,2),7,0,STR_PAD_LEFT);
      $tamanho[1] = str_pad(base_convert(substr($fourBytes,2,2),16,2),7,0,STR_PAD_LEFT);
      $tamanho[2] = str_pad(base_convert(substr($fourBytes,4,2),16,2),7,0,STR_PAD_LEFT);
      $tamanho[3] = str_pad(base_convert(substr($fourBytes,6,2),16,2),7,0,STR_PAD_LEFT);
      $total =    $tamanho[0].$tamanho[1].$tamanho[2].$tamanho[3];
      $tamanho[0] = substr($total,0,8);
      $tamanho[1] = substr($total,8,8);
      $tamanho[2] = substr($total,16,8);
      $tamanho[3] = substr($total,24,8);
      $total =    $tamanho[0].$tamanho[1].$tamanho[2].$tamanho[3];
        $total = base_convert($total,2,10);
    return $total;
    }
   
   function extractTags($text,&$tags){
      $size = -1;//inicializando diferente de zero para não sair do while
    while ((strlen($text) != 0) and ($size != 0)){
      //while there are tags to read and they have a meaning
    //while existem tags a serem tratadas e essas tags tem conteudo
            $ID    = substr($text,0,4);
        $aux   = substr($text,4,4);
         $aux   = bin2hex($aux);
         $size  = $this->get_frame_size($aux);
         $flags = substr($text,8,2);
         $info  = substr($text,11,$size-1);
         if ($size != 0){
            $tags[$ID] = $info;
            $this->tags_count++;
         }
         $text = substr($text,10+$size,strlen($text));
    }
   }
   
   /********************/
   /**public functions**/
   /********************/
   /**Constructor**/

   function ID3($file_name){
      $this->file_name = $file_name;
      $this->last_error_num = 0;
   }
   
   /**Read the file and put the TAGS
   content on $this->tags array**/

   function getInfo(){
        if ($this->file_name != ''){
            $mp3 = @fopen($this->file_name,"r");
        $header = @fread($mp3,10);
         if (!$header) {
            $this->last_error_num = 2;
            return false;
            die();
         }
        if (substr($header,0,3) != "ID3"){
            $this->last_error_num = 3;
            return false;
            die();
        }
        $header = bin2hex($header);
        $version = base_convert(substr($header,6,2),16,10).".".base_convert(substr($header,8,2),16,10);
        $flags = base_convert(substr($header,10,2),16,2);
        $flags = str_pad($flags,8,0,STR_PAD_LEFT);
        if ($flags[7] == 1){
            //echo('with Unsynchronisation<br />');
        }
        if ($flags[6] == 1){
            //echo('with Extended header<br />');
        }
        if ($flags[5] == 1){//Esperimental tag
            $this->last_error_num = 4;
            return false;
            die();
        }
        $total = $this->get_frame_size(substr($header,12,8));
         $text = @fread($mp3,$total);
        fclose($mp3);
         $this->extractTags($text,$this->tags);
      }
      else{
         $this->last_error_num = 1;//file not set
         return false;
        die();
      }
    return true;
   }
   
   /*************
   *   PUBLIC
   * Functions to get information
   * from the ID3 tag
   **************/


   function getArtist(){
      if (array_key_exists('TPE1',$this->tags)){
        return $this->tags['TPE1'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
   function getTrack(){
      if (array_key_exists('TRCK',$this->tags)){
        return $this->tags['TRCK'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
   function getTitle(){
      if (array_key_exists('TIT2',$this->tags)){
        return $this->tags['TIT2'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
   function getAlbum(){
      if (array_key_exists('TALB',$this->tags)){
        return $this->tags['TALB'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
   function getYear(){
      if (array_key_exists('TYER',$this->tags)){
        return $this->tags['TYER'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
   function getGender(){
      if (array_key_exists('TCON',$this->tags)){
        return $this->tags['TCON'];
      }else{
        $this->last_error_num = 5;
         return false;
      }
   }
   
}
?>

Yazinin devamini okuyun »

PHP – Klasör içinde istenen uzantıdaki dosyaları listelemek

Yazar: Caner | 6 Ağustos 2010 Cuma 20:06
Kategori: Php, Web Tasarım





PHP Script
Scriptimiz başlıktan da anlaşılabileceği üzere bir dizinin içerisinde sadece sizin belirlediğiniz uzantıdaki dosyaları listelemeye yarıyor (mp3, avi vb.). Mümkün mertebe basit ve anlaşılır tutmaya çalıştım, $uzanti = “mp3″; değişkenine listeletmek istediğiniz uzantıyı atamanız yeterli.

HTML sayfa başlangıcı:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>Egonomik.com :: PHP - Klasör içinde istenen uzantıdaki dosyaları listelemek</title>
<style type="text/css">
body {
    font-family: Arial;
    font-size: 12px; }

.title {
    background:#4A4A4A;
    padding: 4px;
    font-size: 13px;
    color: #FFFFFF; }

.satir1 {
    background: #F2F2F2;
    padding: 4px;
    font-family: Arial;
    font-size: 11px; }

.satir2 {
    background: #F8F8F8;
    padding: 4px;
    font-family: Arial;
    font-size: 11px; }
</style>   
</meta></head>
<body>

Yazinin devamini okuyun »

Turhost bulut sunucu (cloud server) hizmetine başladı

Yazar: Caner | 2 Ağustos 2010 Pazartesi 19:24






Turhost ile Egonomik’e hosting sponsoru ararken tanışmıştım. Sitenin gün geçtikçe artan ihtiyaçlarına cevap verebilecek adam akıllı bir hosting desteğine ihtiyacım vardı ve o zamana kadar denediğim ücretli/sponsor firmalardan hiç biri uzun vadede işime yarayacak doğru düzgün bir çözüm sunamamıştı. CPU tüketim sorunları, işe yaramayan cache yazılımları, hantallıktan şikayet eden ziyaretçiler derken sorun iyice can sıkıcı bir hal almaya başlamıştı. İşin içinde oldukça, yani gün geçtikçe büyüyen bir sitenin ihtiyaçları konusunda kendi deneyimleriniz aracılığıyla bilgi sahibi olmaya başladıkça “sınırsız web hosting, şu kadar ucuz bu kadar mükemmel” gibi deyişlerin gerçekte çözüm üretmeyen, basit sloganlardan öteye gitmeyen satış politikaları olduğunu anlıyorsunuz. Mesela şimdi nerde “aylık 10 dolara sınırsız web hosting” gibi bir cümle görsem midem bulanır, aklıma bir süre sonra karşılaşacağım muhtemel problemler ve bu problemleri firmaya iletince alacağım “daha iyi hizmet almak istiyorsanız gold paketimize geçin” türü yanıtlar gelir.

Turhost’a dönecek olursak; kendi deneyimlerime dayanarak gönül rahatlığıyla söyleyebilirim ki daha önce bu kadar şeffaf bir fiyat politikası izleyen başka bir hosting firması daha görmedim. Yani ortada “sınırsız, ucuz web hosting” diye lanse edilen ama (yukarıda da bahsettiğim gibi) iki gün sonra işin renginin değişeceği bir durum yok, almak istediğiniz hizmet ve o hizmetin bedeli ne ise onu ödüyor, ödediğiniz paranın karşılığını son kuruşuna kadar alıyorsunuz.

Şeffaf fiyat politikası bir tarafa, işin bir de teknik altyapı boyutu var. Örneğin hosting firmanızın sizin sitenizin tutulduğu sunucuda daha başka kaç tane site barındırdığı, kullandığı donanımın kalitesi, yazılım güncelliği, veri merkezi lokasyonu gibi dilimin dönmediği daha bir çok değişkenin site performansınız üzerinde direkt etkisi var. Yani eğer hizmet aldığınız X firma, çok fazla yatırım gerektirmeyen düşük performanslı ve yurt dışı lokasyonlu bir sunucu üzerinde sizin siteniz gibi -atıyorum- 100 site daha barındırıyorsa (ki bu bilgiye sahip olma imkanınız yok) sitenizin verimli bir şekilde çalışmasını bekleyemezsiniz. Durumu firmaya iletip “yahu benim sitem neden bu kadar yavaş çalışıyor” dediğinizde ise “siteniz çok fazla kaynak tüketiyor, sizi gold paketimize alalım” gibi bir öneriyle karşılaşmanız gayet olasıdır. Yazinin devamini okuyun »

jQuery: Neon efektli form elemanları

Yazar: Caner | 17 Temmuz 2010 Cumartesi 20:50






jQuery ile hazırlanmış güzel bir neon efekti scripti. Script sayesinde form elemanlarınıza (input, textarea, button) resim kullanmadan yanıp sönen hoş bir neon efekti verebilirsiniz. Tek kusuru IE ve Opera tarayıcılarında tam randımanlı çalışmıyor olması (aslında hiç çalışmıyor :) ). Aslında bilinen tüm tarayıcılar tarafından desteklenmedikçe bir scripti kullanmak pek önerilen bir şey değil, ama kimilerimiz yine de bu tür şeyleri seviyor. Yazinin devamini okuyun »

jQuery Tools: İşinize yarayacak tüm scriptler bir arada

Yazar: Caner | 11 Temmuz 2010 Pazar 15:32






jQuery Tools, sitesindeki tanımına göre tüm dünyada büyük web siteleri tarafından da kullanılan en önemli ve göze çarpan kullanıcı arayüzü bileşenlerinden (user interface – ui) oluşan bir koleksiyon.

Tarih seçiciler (datepicker), ipucu balonları (tooltips), form kontrolleri, tablar gibi daha onlarca işe yarar örnek detaylı anlatımlarıyla birlikte koleksiyonda mevcut. Şayet jQuery ile güçlendirilmiş modern web siteleri hazırlıyorsanız jQuery api sayfasından sonra bu siteye de sıklıkla uğramanızda fayda var, zira içerdiği örneklerle işinizi gerçekten kolaylaştıracak faydalı başvuru kaynaklarından bir tanesi. Yazinin devamini okuyun »

Simpletip: Basit bir jQuery tooltip plugini

Yazar: Caner | 10 Temmuz 2010 Cumartesi 16:19






Simpletip çalışmalarınıza kolayca uyarlayabileceğiniz, isminden de anlaşılabileceği üzere oldukça basit hazırlanmış bir jQuery tooltip (ipucu/balon mesaj) eklentisi. Scriptin örnek uygulama kodları, CSS biçimleri ve detaylı ayarları için şu adrese göz atabilirsiniz. Yazinin devamini okuyun »

Jquery & CSS tab scripti (Simple tabs)

Yazar: Caner | 2 Temmuz 2010 Cuma 23:46






Jquery ve CSS ile hazırlanmış son derece basit ve bir o kadar kullanışlı bir tab scripti. Özellikle son zamanlarda sıklaşan “link ölmüş” şikayetleri üzerine orijinal kaynaktaki anlatımları derleyerek ve biraz mıncıklayarak paket haline getirdim, Egonomik üzerinden indirerek çalışmalarınıza kolaylıkla uyarlayabilirsiniz. Yazinin devamini okuyun »