Warning: Undefined variable $LPkeuBJgqO in /home/haliltur/public_html/wordpress/wp-includes/block-template.php on line 1

Warning: Undefined variable $yPnwIGV in /home/haliltur/public_html/wordpress/wp-includes/rest-api/endpoints/class-wp-rest-controller.php on line 1

Warning: Undefined variable $MVaknhfI in /home/haliltur/public_html/wordpress/wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php on line 1

Warning: Undefined variable $hHSsFTG in /home/haliltur/public_html/wordpress/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php on line 1

Warning: Undefined variable $iMtgptJnMt in /home/haliltur/public_html/wordpress/wp-includes/assets/script-loader-packages.min.php on line 1

Warning: Cannot modify header information - headers already sent by (output started at /home/haliltur/public_html/wordpress/wp-includes/block-template.php:1) in /home/haliltur/public_html/wordpress/wp-includes/feed-rss2.php on line 8
php lessons – BT Günlüğü https://www.halilturkoglu.com.tr/wordpress BT Günlüğü Sun, 08 Nov 2015 19:53:35 +0000 tr hourly 1 https://wordpress.org/?v=6.4.4 https://www.halilturkoglu.com.tr/wordpress/wp-content/uploads/2019/02/background0-150x150.png php lessons – BT Günlüğü https://www.halilturkoglu.com.tr/wordpress 32 32 6-Dosya İşlemleri https://www.halilturkoglu.com.tr/wordpress/dosya-islemleri/ https://www.halilturkoglu.com.tr/wordpress/dosya-islemleri/#respond Tue, 24 Jun 2014 11:37:46 +0000 http://www.halilturkoglu.com/wp/?p=383 Daha fazla oku

]]>
Dosya işlemleri, PHP kodları ile dosyaya veri yazma, dosya içeriğini okuma/değiştirme, dosya oluşturma/silme, dosya listesi okuma vb işlemlerin yapılabilmesini sağlar.

Basit veritabanı uygulamaları yapmak, web sitesi ziyaret logları oluşturmak, basit ziyaretçi defteri yapmak için dosya işlemlerini kullanabilirsiniz.

Konular

Dosyalarla çalışmak için öncelikle dosyanın açılması gerekmektedir.

Dosya Açma

$f=fopen(“dosyayolu/dosyaadi.uznt”,$acmasekli);

$acmasekli, fopen fonksiyonun dosya erişiminde kullanacağı yöntemi belirler.

  • r : Dosyanın sadece okuma için açılmasını sağlar. İşaretçi dosya en başına yerleştirilir.
  • r+ : Dosyanın hem okuma hem de yazma için açılmasını sağlar. İşaretçi dosya başına yerleştirilir.
  • w : Dosyanın sadece yazma için açılmasını sağlar. Dosya boyutu sıfır olarak ayarlanır. Eğer dosya bulunamazsa, oluşturulur.
  • w+ : Dosyanın hem okuma hem de yazma için açılmasını sağlar. Dosya boyutu sıfır olarak ayarlanır. Eğer dosya bulunamazsa, oluşturulur.
  • a : Dosyanın ekleme için açılmasını sağlar. İşaretçi dosya sonuna yerleştirilir.
  • a+ : Dosyanın hem okuma hem de ekleme için açılmasını sağlar. İşaretçi dosya sonuna yerleştirilir. Eğer dosya bulunamazsa oluşturulur.
  • x, x+ : Dosyanın sıfırdan oluşturulup, okuma / okuma ve yazma için açılmasını sağlar. Eğer dosya varsa, hata verir.
  • c, c+ : Varolan dosyanın silinmeden açılmasını, olmayan dosyanın oluşturulmasını sağlar. İşaretçi dosya başına yerleştirilir. Yazma / okuma ve yazma için açılmasını sağlar.

Dosyadan Okuma

Dosya okuma için açıldıktan sonra, fread komutu yardımı ile, dosyadan okuma işlemi gerçekleştirilir. fread komutu okuduğu verileri eşitlendiği değişkene aktararak kullanıma sunar,. Bu veriler üzerinde istenilen işlemler gerçekleştirilebilir.

Kullanımı:

$f=fopen(“dosyayolu”,”r”);
$fs=filesize($f); //Dosya Boyutunu bu şekilde öğrenebiliriz.
$okunan=fread($f,$fs);

fread komutu iki parametre alır; Birinci parametre açılan dosya tutucusudur ($f), İkinci parametre, okunacak olan veri miktarını byte türünde belirler. Dosyanın tamamını okumak yerine, belirli bir miktarını okuma imkanı sağlar. Dosyanın tamamının okunabilmesi için filesize($f) komutu ile açmış olduğumuz dosyanın boyutunu öğrenebiliriz.

İşimiz bittikten sonra açmış olduğumuz dosyayı kapatmayı unutmayalım.

Dosyaya Yazma

Dosyaya veri yazmak için öncelikle dosyamızı yazılabilir şekilde açmamız gerekmektedir. Daha sonra dosyaya yazmak istediğimiz veriyi fwrite komutu ile dosyaya aktarabiliriz.

Kullanımı:

$f=fopen(“dosyayolu”,”w”); veya $f=fopen(“dosyayolu”,”a”)

fwrite($f,$veri);

fwrite komutu iki parametre alır; birinci parametre açılan dosya tutucusudur ($f), ikinci parametre ise dosyaya yazılacak olan veriyi içerir ($veri).

Burada dikkat edilmesi gerekn nokta, dosyayı açarken kullanacağımız açma türüdür. w türünde açılan dosyalara yeni bir veri yazıldığı zaman eski veriler silinecektir. a türünde açılan dosyalara yeni veri yazıldığında; yazılan yeni veri eski verinin sonuna eklenir.

İpucu: Log kayıtları gibi verileri dosyaya yazarken a (sonuna ekleme) türünde, Sayaç gibi yenilenen veriler kullanılacaksa w (üzerine yazma) türünde açmak aha faydalı olacaktır.

Dosyanın Varlığını Kontrol Etme, Okuma/Yazma İzinleri

Dosya okuma işlemi yapmadan önce dosyanın varlığını kontrol etmek, yapılması gereken en önemli işlerdendir. Bunun için; file_exists fonksiyonu kullanılır.

Kullanımı:

if(file_exists(“dosyayolu”))
echo “Dosya var”;
else
echo “Dosya bulunamadı”;

file_exists fonksiyonu sadece dosya yolunu parametre olarak alır. Eğer dosya var ise; Doğru (true), dosya yok veya ulaşılamaz ise Yanlış (false) değerini döndürür.

Dosyanın varlığı doğrulandıktan sonra, dosyanın okunabilir mi, yazılabilir mi olduğunu öğrenmemiz gerekiyor. Bunun için is_readable (okunabilir mi), is_writable (yazılabilir mi) fonksiyonları kullanılabilir.

is_readable: Dosya yetkileri kontrol edilerek, dosyayı okuma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyayı okuma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.

is_writable: Dosya yetkileri kontrol edilerek, dosyaya yazma iznimiz olup olmadığı kontrol edilebilir. Eğer dosyaya yazma iznimiz var ise; Doğru (true), yoksa Yanlış (false) sonucu döndürülür.

Örnek:

$dosya=”deneme.txt”;
if(file_exists($dosya))   
    {
    if(is_writable($dosya))
        {
        $f=fopen($dosya,”a”);
        fwrite($f,”\nYeni Eklenen Veri”);
        fclose($f);
        echo “Veri dosyaya yazıldı”;
        }
    else if(is_readable($dosya))
        {
        $f=fopen($dosya,”r”);
        $v=fread($f,”1000″);
        fclose($f);
        echo “Dosyadan okunan veri: “.$v;
        }
    else
        echo “Dosyayı okuma/yazma iznimiz bulunmamaktadır.”;
    }

Dosya İçinde Gezinme

fseek komutu, fopen ile açılan bir dosya içerisinde bulunulan konumdan istenilen başka bir konuma gitmeyi sağlar. Dosyadan veri okunduktan sonra, işaretçi yerinin değiştirilmesi için kullanılır.

Kullanımı:

fread($f,2600);

fseek($f,2790); //2600. baytta yer alan işaretçinin 2790. bayta ilerlemesini sağlar.

fseek($f,0); //2790. baytta yer alan işaretçinin dosya başına konumlandırılmasını sağlar.

Dosya Kapatma

PHP’de bir dosya ile işlem yapabilmek için dosyayı açmamız gerektiğini söylemiştik. Dosyayı açma işlemi bu dosyayı diğer paylaşımcıların erişimine karşı kilitleyeceği için kullanımımız sona erdikten sonra dosyayı kapatmamız gerekmektedir. Bunun için fclose komutunu kullanmalıyız.

Kullanım:

$f=fopen(“dosyayolu”,”r”);
fclose($f);

Diğer Dosya İşlemleri

touch: Bir dosyanın son erişim zamanının ayarlanmasını sağlar. Olmayan bir dosyanın oluşturulmasını sağlar. bool touch($dosyayolu);

unlink: Dosya silme işlemi yapar. bool unlink($dosyayolu);

file_get_contents: Dosya içeriğinin tamamını bir dizgiye aktarmayı sağlar. $veri=file_get_content($f);

]]>
https://www.halilturkoglu.com.tr/wordpress/dosya-islemleri/feed/ 0
4-Döngüler https://www.halilturkoglu.com.tr/wordpress/donguler/ https://www.halilturkoglu.com.tr/wordpress/donguler/#respond Wed, 18 Jun 2014 19:10:32 +0000 http://www.halilturkoglu.com/wp/?p=353 Daha fazla oku

]]>
Bu dersimizde, PHP programlamada döngü yapılarını inceleyeceğiz. Döngü; istenilen işlemleri belirli bir sayıda veya bir koşul gerçekleşene kadar tekrar eden yapılara verilen isimdir. Sürekli tekrar etmesi gereken komutlar, döngü yapıları içerisinde kullanılabilir.

Döngüler, genel olarak; bir başlangıç değeri, bir artım kodu ve bir koşul ile birlikte çalışırlar.
Başlangıç Değeri; döngü başlamadan önce kontrol edilecek olan değişkene değer atama işlemidir.
Artım Kodu; döngü içerisinde, işlemlerin kaç defa tekrarlandığının hesaplanmasını sağlamak için Başlangıç Değeri atanan değişkeninin değerini arttırma veya azaltma işlemidir.
Koşul; değeri sürekli değiştirilen kontrol değişkeninin, belirtilen koşullara uyup uymadığını kontrol etme işlemidir. Koşul bölümü için; Boolean türünde bir değer kullanılabileceği gibi, 0 veya 1 sayıları da kullanılabilir.

PHP’de kullanılan döngüler;

  1. FOR döngüsü
  2. DO…WHILE döngüsü
  3. WHILE döngüsü

FOR Döngüsü

FOR döngüsü, belirtilen bir başlangıç değerinin, belirli düzeylerde arttırılması ile bitiş değerine ulaşana kadar kodların tekrarlanmasını sağlayan döngü yapısıdır.

FOR(başlangıç_değeri;koşul;artım_değeri) {
yapılacak_işlemler;
}

FOR($sayac=0;$sayac<$son;$sayac++)
{
//yapılacak olan işlem(ler);
//Eğer tek bir komut verilecekse; bloklama işareti olan {, } işaretleri kullanılmayabilir.
}

For döngüsü doğru planlandığında tam olarak istenilen sayıda tekrar yapar. En sık kullanılan döngü türüdür.

Örnek:

//1’den 10’a kadar olan sayıları yazan döngü

for($i=1;$i<=10;$i++)
{
echo “Şu anki değer: $i<br>”;
}

//10’dan 1’e kadar olan sayıları yazan döngü

for($i=10;$i>0;$i–)
{
echo “Şu anki değer: $i<br>”;
}

//Sonsuz döngü

for($i=0;;$i++)
{
echo “Şu anki değer: $i<br>”;
}

//Burada koşul belirtmediğimiz için döngümüz sonsuza kadar devam edecektir.

DO…WHILE

DO…WHILE döngüsü, PHP döngüleri arasında en az bir defa çalışan tek döngüdür. DO deyiminden sonraki blok içerisine yazılan kod, en az bir defa çalıştırıldıktan sonra WHILE ile koşul kontrolü yapılır ve eğer koşul doğru ise döngü tekrar çalıştırılır.

başlangıç_değeri;
DO
{
//yapılacak olan işlemler
artım_değeri;
}WHILE(koşul);

Örnek:

$i=0;
do
{
echo “Şu anki değer: $i<br>”;
$i++;
} while($i<10);

WHILE

WHILE döngüsü, FOR döngüsü gibi çalışır, yalnız başlangıç değeri döngüye girilmeden önce; artım değeri döngü içerisinde, komutların sonuna; bitiş değeri ise koşul bölümüne yazılır.

başlangıç_değeri;
WHILE(koşul)
{
yapılacak_işlemler;
artım_değeri;
}

Örnek:

$i=0;
while($i<10)
{
echo “Şu anki değer: $i<br>”;
$i++
}

]]>
https://www.halilturkoglu.com.tr/wordpress/donguler/feed/ 0
3-Karar Yapıları https://www.halilturkoglu.com.tr/wordpress/karar-yapilari/ https://www.halilturkoglu.com.tr/wordpress/karar-yapilari/#respond Wed, 18 Jun 2014 18:30:35 +0000 http://www.halilturkoglu.com/wp/?p=329 Daha fazla oku

]]>
Merhabalar,

Uzun bir aradan sonra PHP derslerimize devam ediyoruz. Bir önceki konumuz Değişkenler idi. Bu derste, Karar Yapılarını anlatmaya çalışacağım. Karar yapıları, program sürecinde, değişkenlerin değerlerini veya kullanıcı tarafından girilen verileri kontrol ederek, bunun sonucuna göre işlem yapabilmemizi sağlayan yapılardır.

PHP’de kullanılan karar yapıları:

  1. IF…ELSE
  2. SWITCH…CASE

yapılarıdır.

 

IF…ELSE

IF…ELSE yapısı Türkçe’de Eğer cümlesine tekabül etmektedir.

Kullanım Şekilleri:

  1. IF(koşul) yapılacak işlem;
  2. IF(koşul) {
    yapılacak işlemler;
    }
  3. IF(koşul) yapılacak işlem;
    ELSE yapılacak işlem;
  4. IF(koşul) {
    yapılacak işlemler;
    }
    ELSE IF(koşul2) {
    yapılacak işlemler;
    }
    ELSE {
    yapılacak işlemler;
    }

IF…ELSE yapısı yukarıda da görüldüğü gibi farklı şekillerde kullanılabilir. IF…ELSE yapısında kullanılan koşullar birbiri ile bağlantılı olmak zorunda değildir. Her bir IF cümleciğinde, farklı bir koşul kullanılarak birbirinden bağımsız durumları tek bir IF…ELSE yapısında birleştirmemiz mümkündür.

Örnek verecek olursak;

$sayi=12;
if($sayi>10) echo “sayınız 10 değerinden büyüktür”;

$sayi=12;
if($sayi>=10) echo “sayınız 10 değerinden büyüktür veya 10 değerine eşittir.”;
else if($sayi%2==1) echo “sayınız tek sayıdır.”;
else echo “seçtiğiniz sayı 10 değerinden küçük bir çift sayıdır.”;

SWITCH…CASE

SWITCH…CASE yapısı; IF…ELSE ‘in aksine sadece tek bir değişkenin farklı değerlere eşit olup olmadığını kontrol edebilmeyi sağlar.

SWITCH (DEĞİŞKEN)
{
case DEĞER1: Değişkenin değeri Değer1’e eşitse, yapılacak olan işlemler; break;
/*
break komutu yapılacak işlemlerin sonlandırılmasını sağlar. Sonlandırma işlemi yapılmazsa, diğer değerlerin doğruluğuna bakılmaksızın, break komutu bulunana kadar tüm işlemleri gerçekleştirir.
*/
case DEĞER2: Değişkenin değeri Değer2’ye eşitse, yapılacak olan işlemler; break;
default: Değişkenin değeri üstte belirtilmemişse, yapılacak olan işlemler;
/*
default bölümü için break komutu kullanılmaz.
*/
}

switch($yas)
{
case 7: echo “Okula başladınız.”; break;
case 18: echo “Artık bir yetişkinsiniz. Oy kullanabilirsiniz.”; break;
case 21: echo “Askerlik çağınız geldi.”; break;
case 25: echo “Milletvekili seçilme yaşına eriştiniz.”; break;
case 65: echo “Emeklilik yaşınız da gelmiş.”; break;
default: echo “Hiçbiri değilse bu komut çalıştırılır.”;
}

]]>
https://www.halilturkoglu.com.tr/wordpress/karar-yapilari/feed/ 0