Navigate / search

Require() ve Include() Arasındaki Farklar

Require() ve Include() Arasındaki Farklar


Çalıştırdığımız iki fonksiyonda aynı işlemleri rahatlıkla yapabiliyor diye söylemiştik.Şimdi gelelim ikisi arasındaki farklara.

Include;
Include ile çağırdığımız dosyanın mevcut olup olmaması önemli değildir.Yani şöyle düşünürsek;
Bu dosya mevcut ise ben çağırırım kodları işlerim işime devam ederim.Eğer dosya mevcut değil ise önemsemem ve bir sonraki satırdan işime devam ederim.

Require;
Require ile çağırdığımız dosya mevcut olup olmaması önemlidir.Şu şekilde izah edelim;
Bu dosya mevcut ise ben dosyayı çağırırım kodları işlerim ve işime devam ederim.Eğer dosya mevcut değil ise programı o anda durdurum.Geriye kalan kodların hiçbirini çalıştırmam.Fakat o ana kadar çalışmış kodlarıda iptal etmem.

Php – require() include() Dosya Çağırma

Php dosyamızda işlem yaparken bazı durumlarda dışarıdan dosya çağırmamız gerekebilir.Bu işlemler için require ve include fonksiyonlarını kullanacağız.Aslında iki fonksiyon da aynı işi yapabiliyor fakat aralarında ufak farklar var.Aralarındaki farklardan önce fonksiyonların kullanımını öğrenelim

Komutun çalışması hakkında bilgi sahibi olabilmek için ufak bir yöntem uygulayalım.
Aynı dizinde 2 adet php dosyası oluşturalım.Dosyalara “dosya1.php” ikincisine “dosya2.php” şeklinde isim verelim.

Dosya1.php adlı dosyamıza şu kodları yazalım.

<?
incude("dosya2.php");
?>

dosya2.php adlı dosyamıza ise echo ile ekrana birşeyler yazdıralım.

<?
echo "bu metin dosya2.php'ye aittir...."
?>

Şimdi include() komutunu kullandığımız dosya1.php’yi çalıştıralım…Sonuç;

Bu metin Dosya2.php adlı dosyaya aittir.

Biz aslında dosya1.php yi çalıştırdık fakat dosya2.php deki kodlarımız çalıştı.işte bu DOSYA ÇAĞIRMA işlemi oluyor.program require veya inclide komutunun olduğu satıra gelince çağırdığımız sayfadaki kodları sanki o sayfadaymış gibi algılıyor.

Böyle birşey ne işe yarar diye sorarsak,gerçekten çok işe yarayacak alanları var diyebiliriz.Şimdi mutlaka ihtiyacamız olabilecek durumu örnek olarak yapalım.

Sitenizde kullandığınız belli değişkenler veya parametreler var.Bu parametreleri tek bir dosyada tutup değiştirme ihtiyacı duyduğunuz tek bir dosyada düzenleme işlemi yaparak bütün sitenizdeki verileri değiştirebilirsiniz.Şimdi bir ayar dosyası oluşturalım.

ayar.php

$siteadi="Şafak Bilişim ile Php Dersleri"; // sitemizin başlığı
$arkaplan="#000000"; // Site arka plan rengimiz.
$anatablogen="800"; // sitemizin ana tablosunun genişliği

3 farklı ayar için değişken tanımladık şimdi örneğin bi index.php dosyasında örneklerimizi inceleyelim.
Sitemizin Başlığı Yazıyoruz.

 <center>  <? echo $siteadi; ?> Sitesine Hoşgeldiniz. </center>

Sonuc olarak ;

Şafak Bilişim ile Php Dersleri Sitesine Hoşgeldiniz.

yazısnı göreceğiz.Ayar.php den düzenleme yaptığımızda index.php’de de değişiklikler uygulanacaktır.

Şimdi arka plan rengimizi göz atalım.

<body backgroundcolor="<? echo $arkaplan; ?>">
</body>

Arka plan rengimizde ayar.php dosyasında verdiğimiz değere göre bir renk alacaktır.Aynı işlemi tablonun genişlik parametresini kullanırkende yapabilirsiniz.

Require() ve Include() Arasındaki Farklar için lütfen bu konuya göz atın….

Php – fseek() ftell() rewind() – Dosyanın İstediğimiz Bölümünü Okuma

Dosya okuma işlemlerinde okuma işlemini tamamen olsada satır satır veya karakter karakter yapsakta, işlemlere hep en baştan başladık.Peki okuma yaparken dosya içinden istediğimizi bir yeri okumak için ne yapmalıyız.Bu işlemde kullanacağımız 3 fonkiyonumuz var.İlk önce bu fonksiyonları kısa kısa tanıyalım.

Ufak birde hatırlatma yapalım.Bu üç fonksiyonda file pointer olarak çalışır.

fseek():

Okuma işlemine başlayacağımız karakter sırasını bu komut ile belirleriz.Kısacası imlecimizi o karaktere almış oluruz.

fseek($dosyapointer,20)  // İmleci 20. karakterin önüne taşır.

ftell():

İmlecimizin o anda kaçıncı karaterin önünde olduğunu söyler.

echo tell($dosyapointer); // imlecimiz kaçıncı karakterin önündeyse o sayıyı verir.

rewind();

İmlecimizin bulunduğu pozisyonu sıfırlar.

rewind($dosyapointer); // İmlecimizi 0. pozisyona getirdi.

Şimdi bunları bir örnek ile inceleyelim.okuma işlemini yaparken fread komutunu kullanıp kaç karakter okuyacağımızı belirteceğiz.şimdi örnek txt dosyamızı oluşturalım.File pointer ile dosyamızı açalım.

dosya.txt

Satır 1
Satır 2
Satır 3
Satır 4
1
2
3
4
5
6
7
$dosyaadi="dosya.txt";
$dosyapointer=fopen($dosyaadi,"r") or die ("Dosya açılamadı.");
echo "İmlecimiz İlk Anda Şu Konumda  : ".ftell($dosyapointer)."<br>"; // imlecimizin konumunu verecek..
fseek($dosyapointer,3); // imlecimizi 3. karakterin önüne alacak.
$okunan=fread($dosyapointer,2); // 3. karakterden itbaren 2 karakter okur.
print "Okunan : ".$okunan;
echo "İmlecimiz Son Anda Şu Konumda  : ".ftell($dosyapointer)."<br>"; // imlecimizin konumunu verecek..

Unutmamanız gerek bişey var.bir sonraki satıra geçerken bir karakter fazla yazmayı unutmayın çünkü “yeni satır” işleminide bir karakter olarak algılıyor.

Php – file() ile Dosyayı Satır Satır Diziye Taşımak

2 3 ders önce işlediğimiz file_get_contents() fonksiyonunu bir hatırlayalım.

Dosyamızı Şu şekilde oluşturulalım ve dosya.txt olarak php dosyamızla aynı dizine kaydedelim.
dosya.txt

Satır 1
Satır 2
Satır 3
Satır 4

şimdi bu dosyamızı file_get_contents ile okuyup yazdıralım.

1
2
3
$dosyaismi="dosya.txt";
$okunan=file_get_contents($dosyaismi);
print "Okunan Veri : "$okunan;

Sonuç aşağıdaki gibi bir seferde dosyamızın okunmasıyla sonuçlanacaktır.

Okunan Veri : Satır 1 Satır 2 Satır 3 Satır 4

Şimdi aynı işlemi file() komutumuz ile yapalım.

1
2
3
$dosyaismi="dosya.txt";
$okunan=file($dosyaismi);
print "Okunan Veri : "$okunan;

Bu sefer sonuç olarak $okunan değişkeninin bir dizi olduğunu göreceğiz.

Okunan Veri : Array

Şimdi foreach döngüsüyle dizi elemanlarını bir bir yazdıralım.Ve kodlarımız son aşamaya gelsin.

1
2
3
4
5
6
$dosyaismi="dosya.txt";
$okunan=file($dosyaismi);
foreach($okunan as $sira => $satir)
       {
       print "Okunan : $sira - $satir <br>";
       }

Sonuç…

Okunan : 0 - Satır 1
Okunan : 1 - Satır 2
Okunan : 2 - Satır 3
Okunan : 3 - Satır 4

Satır numaralarıyla birlikte dosyanın içerğini yazdırmış olduk.

Şimdi durumu biraz farklılaştırıp karşınıza çıkabilecek örneklerden birtanesini yapalım.
Okuduğumuz dosyadan belirli bir satırdaki veriyi okuyalım sadece.Nasılmı yapacağız ?
file() fonksiyonundan dönen değer bir dizi değilmidir.O zaman dizinin indisi ile çağıracağız.Dizi indisleri 0′dan başladığı için dizimizin ilk yani 0. elemanı dosyamızın birinci satırını işaret ediyor olacak.
Aşağıdaki kodları incelemenizi tavsiye ediyorum.Php ile uğraşıyorsanız mutlaka karşınıza çıkar.

Bu kodlarda yukarda verdiğimiz dosya.txt’deki 2 satırı almak istedik.Bu yüzden indisimizi 1 olarak yazıyoruz.

1
2
3
$dosyaismi="dosya.txt";
$okunan=file($dosyaismi);
print "Okunan Veri : "$okunan[1];

sonuç olarak 2. satırı yazacaktır ekrana….