PHP gzcompress() ve gzuncompress() Fonksiyonları

Ne zaman sıkıştırmaktan bahsetsek, aklımız hep dosyaları sıkıştırmaya gidiyor, mesela ZIP dosyaları gibi. Ancak PHP’de uzun string ifadeleri de sıkıştırmanın bazı yolları var. Bu işlem için ise gzcompress() fonksiyonu kullanılıyor. Okumaya devam et PHP gzcompress() ve gzuncompress() Fonksiyonları

PHP serialize() ve unserialize() Fonksiyonları

PHP’de hiç kompleks bir değişkeni veritabanında ya da dosyalarda saklamak istediniz mi? Örneğin tipi array olan bir değişkeni veritabanında saklamak istiyoruz. İşte bunu serialize() fonksiyonu ile yapmamız mümkün. Okumaya devam et PHP serialize() ve unserialize() Fonksiyonları

Centos Sunucu üzerinde Apache, PHP, Mysql ve phpMyAdmin Kurulumu ve Cloudflare Ayarları

Merhaba arkadaşlar, ben sunucu için digitalocean’ı kullanıyorum. Bu yüzden videoda digitalocean’dan ilk olarak centos sunucu alarak başlıyorum. Daha sonra sunucuma ssh ile bağlanıyorum ve aşağıdaki adımlar ile gerekli pakelerimi kuruyorum…


Okumaya devam et Centos Sunucu üzerinde Apache, PHP, Mysql ve phpMyAdmin Kurulumu ve Cloudflare Ayarları

PHP ile Hex Renk Kodunun Doğruluğunu Kontrol Etmek

Girilen renk değerinin hex olup olmadığını doğrulamam gerekiyordu. Ufak bir araştırma sonucunda ise aşağıdaki kodlar ile doğrulama işlemi yaptım. Birgün size de lazım olabilir diye paylaşıyorum.

$color = 'fa6582';
if (ctype_xdigit($color) && (strlen($color) == 6 || strlen($color) == 3)){
   echo 'geçerli hex renk kodu';
} else {
   echo 'geçersiz bir hex kodu';
}

kolay gelsin 🙂

PHP ile Bir Dosyanın Karakter Kodlamasını Öğrenmek

Geçenlerde altyazıları yüklerken aklıma takıldı. Bazı altyazılar UTF-8, bazıları ise ISO-8859-9. Bu yüzden yazdığım kodlar birini düzgün gösterirken diğerini göstermiyordu. Bu yüzden dosyanın hangi karakter kodlamasına ait olduğunu öğrenmem gerekiyordu. Ve şöyle bir kod yazdım;

$open = file_get_contents('test.srt');
$enc = mb_detect_encoding($open, mb_list_encodings(), true);

echo $enc; // örnek çıktı: UTF-8 ya da ISO-8859-9

Peki bunu bulmak benim ne işime yaradı? Bu sayede header ile karakter setini belirleyebildim şu şekilde;

if ($enc == "UTF-8") {
    header('Content-type: text/vtt; charset=utf8');
} else {
    header('Content-type: text/vtt; charset=iso-8859-9');
}

Buda karakter problemlerimi çözmüş oldu. Bir gün böyle bir hata ile karşılaşırsanız artık çözümünü biliyorsunuz, kolay gelsin.

PHP cURL ile JSON Data Göndermek

Bazen API’ler sizden json data göndermenizi isteyebiliyor, bu gibi durumda cURL ile post işleminde ufak birkaç eklemek yapmak gerekiyor. İlgili kod parçacağına aşağıdan bakabilirsiniz. Ayrıca post edilen yerde alma yöntemi de biraz farklı, onuda 2. kısımda bulabilirsiniz 🙂

$data = array("name" => "Tayfun", "age" => "24");                                                                    
$data_string = json_encode($data);                                                                                   
                                                                                                                     
$ch = curl_init('http://localhost/b.php');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   
                                                                                                                     
$result = curl_exec($ch);

echo $result;

isteği yaptığımız b.php’de ise json data’yı $_POST ile almaktan biraz daha farklı alıyoruz. Oda şöyle;

$posts = file_get_contents('php://input');
$jsonData = json_decode($posts, true);
print_r($jsonData);

Kolay gelsin 🙂

CSS Flex ile Sticky Footer Yapmak

Bu dersimde son zamanlarda sıkça kullandığım css’in flex özelliğini kullanarak sticky (yapışkan) footer yapımını göstermek istiyorum. Temel anlamda aslında kodlarım şunlardan ibaret;

<body>
<div class="header">header</div>
<div class="content">content</div>
<div class="footer">footer</div>
</body>

<style>
body {
   height: 100%;
   display: flex;
   flex-direction: column;
}
.content {
   flex: 1;
}
</style>

Daha detaylı görmek isterseniz aşağıdaki örneği inceleyebilirsiniz;

See the Pen Sticky footer with CSS Flex – Erbilen.net by Tayfun Erbilen (@tayfunerbilen) on CodePen.

CSS :nth-child() Örnekleri

Daha önce mutlaka :nth-child() filtresini kullanmışsınızdır css yazarken. Ancak bu filtrenin bazı güzel ipuçları var, işimize yarayacak. Bu yazıda size hızlıca bunları göstermek istiyorum. Önce basit bir html yapısı kuralım;

<ul>
  <li>kutu 1</li>
  <li>kutu 2</li>
  <li>kutu 3</li>
  <li>kutu 4</li>
  <li>kutu 5</li>
  <li>kutu 6</li>
  <li>kutu 7</li>
  <li>kutu 8</li>
  <li>kutu 9</li>
  <li>kutu 10</li>
</ul>

<style>
ul, li {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul {
  overflow: hidden;
}
ul li {
  list-style: none;
  float: left;
  width: 100px;
  height: 100px;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
}
</style>

Şimdi gelelim örneklerimize..

İlk 5’i seçmek (:nth-child(-n+5))

Burada 5 yerine kaç yazarsanız ilk o kadarı seçilecektir.

ul li:nth-child(-n+5) {
   background-color: yellow;
}

Son 5’i seçmek (:nth-child(n+6))

Burada dikkat etmeniz gereken son kaçı seçecekseniz her zaman bir fazlasını yazmanız.

ul li:nth-child(n+6) {
   background-color: yellow;
}

3 ile 8 aralığındakileri seçmek (:nth-child(n+3):nth-child(-n+8))

ul li:nth-child(n+3):nth-child(-n+8) {
   background-color: yellow;
}

3’er 3’er seçmek (:nth-child(3n))

Ayrıca odd ve even ile de kullanımı var. Her ikisini de aşağıda gösteriyorum.

ul li:nth-child(3n) {
   background-color: yellow;
}


Her 3’ü ama sadece çift olanlar olsun istersek. Yani her 3’ü seçecek ama çift olan 6. oluyor. Dolayısı ile 3. yü atlayacak 6’yı seçecek 9. yu atlayacak 12’yi seçecek.

ul li:nth-child(3n):nth-child(even) {
   background-color: yellow;
}


Tam tersinde ise tekleri seçecek. Yani 3’ü seçecek 6’yı atlayacak 9’u seçecek…

ul li:nth-child(3n):nth-child(odd) {
   background-color: yellow;
}

4. den başlayıp 3’er 3’er seçmek (:nth-child(3n+4))

Burada eğer 2. den başlayıp 4’er 4’er seçmesini isterseniz 4n+2 demeniz yeterli 🙂

ul li:nth-child(3n+4) {
   background-color: yellow;
}

Daha fazla örnek görmek isterseniz, şuraya bir gözatın: http://nthmaster.com/

Iframe ve parent ilişkisi

Günün birinde iframe içerisindeki fonksiyona erişmeniz ya da iframe’den parent’a değer göndermeniz gerekirse bu videoyu hatırlayınız efendim 🙂 İyi seyirler.

Ek bilgi;
Eğer iframe’de parent’da oluşturduğunuz bir fonksiyonu çalıştırmak isterseniz. Örneğin test() fonksiyonunu parent’da oluşturduğunuzu varsayalım, iframe’de şu şekilde çağırabilirsiniz;

parent.test();