IRCForumlari.Net - IRC Sunucu sahipleri ve kullanıcıları buluşma noktası Sohbet club  
Go Back   IRCForumlari.Net - IRC Sunucu sahipleri ve kullanıcıları buluşma noktası > Webmaster > Hazır System'ler > PhpBB

Konu Bilgileri: Konuyu Collettivo, 26-09-2008 (05:02) tarihinde açmış. Bu konu 0 kişi tarafından yorumlanıp 1087 kez izlenmiş.



Cevapla
 
LinkBack Seçenekler Stil
Alt 26-09-2008, 05:02   #1
 
Collettivo - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 17-11-04
Bulunduğu yer: Gebze
Mesajlar: 5.555
IRC:
WEB: Yıkıldı hayallerimiz umutlar tenhasinda!
İlgi Alanı:
Tecrübe Puanı: 620
IF Puanı : 15235
IF Derecesi :
Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!Collettivo 'un tanımadığı bir popülerlik YOK!
Standart Dosya okuma: fgets(), fread() ve fgetc()

Dosya okuma: fgets(), fread() ve fgetc()

Açtığımız bir dosyanın içindeki yazıları çoğu zaman programımıza satır satır okuturuz. PHP'de bir dosyanın içeriğini satır satır okutmamızı fgets() fonksiyonu sağlar. Bu fonksiyona daha önce açılmış olan dosyanın işaret değişkenin adını ve okunmasını istediğimiz asgari byte ölçüsünü parametre olarak veririz. fgets() fonksiyonu verdiğimiz uzunluk ölçüsüne ulaşmadan önce dosyada bir yeni satır işareti görürse, veya dosyanın sonuna ulaşırsa, okumaya son verir. Bu fonksiyonu çoğu zaman bir döngünün içinde kullanırız. Ancak döngünün hata vermemesi için, PHP'nin dosyanın sonuna ulaştığında döngüyü durdurmamız gerekir. fgets() fonksiyonunun okuyacağı satırı bir fonksiyona değer olarak verebilir ve daha sonra bu değeri programlarımızda kullanabiliriz. Örnek:

<?php
$dosya_dizin = "/inetpub/wwwroot/";
if ($dosya = (fopen ("$dosya_dizin/bir_dosya.txt" , 'r') ) ) {
print ("Dosya açıldı!<br>");
}
else {
print ("Dosya açılamadı!");
}
while ( ! feof ($dosya ) ) {
$satir = fgets ( $dosya, 1024 ) ;
print ("$satir<br>");
}
fclose ($dosya);
?>

Bu program kişisel Web sunucuda önce varolan bir dosyayı açıyor; ve bu dosyanın işaretçisi olarak $dosya değişkenini kullanıyor. Daha sonra bir while() döngüsü içinde bu değişkeni ve 1 KB (1024 byte) ölçüsünü parametre olarak vererek fgets() fonksiyonu ile dosyadan bir satır okutuyoruz. fgets() fonksiyonundan dönen bir satırlık metni, burada $satir değişkenine atıyoruz; ve daha sonra print() fonksiyonu ile bu satırı Browser penceresine gönderiyoruz. Bu işlemi Internet'teki bir Web sunucuda uygulayabilmek için yazma/okuma izni bulunan ve Web sunucunun erişebileceği bir dizinin adını vermeniz gerekir. Bu işlemin içinde yapıldığı while() döngüsünün devam şartı olarak kullandığımız ifadede yer alan feof() fonksiyonu bir dosyanın dosya-sonu (end-of-file) durumuna ulaşıp ulaşmadığını sınar. PHP, her dosyanın sonunda yer alan eof (Ctrl-z, ^z) işaretine eriştiği anda feof() fonksiyonu doğru/true değerini verir. while() döngüsü, feof() doğru değilken devam etmek üzere kurulmuş olduğu için, dosya sonuna ulaştığımızda döngü duracaktır. Okuma işlemini durabilen bir döngüye bağlamazsak, fgets() PHP'nin bir programın sona ermesi için verilmiş varsayılan süresi doluncaya kadar dosyayı okumak isteyecektir.







Kimi zaman dosyalarımızın içeriğini satır-satır okutmak yerine, kendi tayin edeceğimiz uzunlakta parçalar halinde okutmak isteriz. Bunu, fread() fonksiyonu ile sağlarız. Örnek:

<?php
$dosya_dizin = "/inetpub/wwwroot/";
if ($dosya = (fopen ("$dosya_dizin/bir_dosya.txt" , 'r') ) ) {
print ("Dosya açıldı!<br>");
}
else {
print ("Dosya açılamadı!");
}
while ( ! feof ($dosya) ) {
$paragraf = fread ( $dosya, 1024 ) ;
print ("$paragraf<br>");
}
fclose ($dosya);
?>

fread() fonksiyonu da daha önce açılmış olan dosyanın işaret değişkenin adını ve okunmasını istediğimiz asgari byte ölçüsünü parametre olarak alır. fread() fonksiyonu verdiğimiz uzunluk ölçüsüne ulaşmadan önce dosyada bir yeni satır işareti görürse, veya dosyanın sonuna ulaşırsa, okumaya son verir. Bu fonksiyondan yararlanırken, verdiğiniz uzunluk ölçüsünün, almak istediğiniz metin parçasına uygun olduğunu sınamalısınız. fread(), bu ölçüye ulaştığında okumayı keser. Buradaki örneği 1024 byte ölçüsünü değiştirerek ve mesela 1, 2, 3 yaparak deneyebilir ve böylece vereceğiniz ölçünün okunan metnin uzunluğunu nasıl tayin ettiğini görebilirsiniz.

fseek() ile ölçü belirleme
PHP'nin dosya işleminde kullabileceğiniz bir diğer fonksiyonu fseek() adını taşır. Daha önce açılmış olan dosyanın işaret değişkenin adını ve ve programın bu metin içinde zıplamasını istediğiniz noktanın dosyanın başından itibaren byte değerini parametre olarak alan bu fonksiyon ile, bir dosyanın içinnde istediğimiz yere gitme imkanı vardır. Örnek:

<?php
$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt";
if ($dosya = (fopen ($dosya_adi , 'r') ) ) {
print ("Dosya açıldı!<br>");
}
else {
print ("Dosya açılamadı!");
}
$dosya_boyut = filesize($dosya_adi);
$olcu = (int) ($dosya_boyut / 2 );
while ( ! feof ($dosya) ) {
$paragraf = fread ( $dosya, $olcu) ;
print ("$paragraf<br>");
}
fclose ($dosya);
?>

Burada, okutulacak dosyanın boyutunun yarısını atadığımız $olcu değişkenini, okutulacak metnin ölçüsü olarak kullanıyoruz. Bu durumda PHP, dosyayı iki paragraf halinde görüntüleyecektir.

Dosyalarımızın içeriğini satırlar veya belirli ölçüde parçalar halinde değil de, tek-tek karakter olarak okutmak için fgetc() fonksiyonundan yararlanırız. Bu fonksiyon, daima 1 byte ölçüsünde (bir karakter) metin okuyabileceği için, parametre olarak sadece daha önce açılmış olan dosyanın işaret değişkenin adını alır. Örnek:

<?php
$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt";
if ($dosya = (fopen ($dosya_adi , 'r') ) ) {
print ("Dosya açıldı!<br>");
}
else {
print ("Dosya açılamadı!");
}
while ( ! feof ($dosya) ) {
$karakter = fgetc ( $dosya ) ;
print ("$karakter<br>");
}
fclose ($dosya);
?>

Burada fgetc() fonksiyonundan dönen değeri (yani dosyadan okunan bir karakteri), $karakter değişkenine atıyoruz ve daha sonra print() fonksiyonu ba karakteri ve HTML'in satır bölme kodu olan <br> işaretini Browser penceresine gönderiyor. Programı bu şekliyle sınarsanız, dosyadaki metnin tek karakter olarak Browser penceresinin soluna dizildiğini göreceksiniz. Programı <br> kodunu silerek çalıştırırsanız, bu kez dosyadaki metinde var olan satır sonu işaretlerinin de kaldırıldığını ve metnin bir paragraf oülarak görüntülendiğıini görebilirsiniz.

Alıntıdır.
Collettivo isimli Üye şimdilik offline konumundadır  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla

IRCForumlari.NET
Webmaster.com.tr - Webmaster forumu
Cevapla
Anahtar Kelimeler: , , , ,


Bookmarks

Etiketler
dosya, fgetc, fgets, fread, okuma


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
TCL Log. & Okuma karniyarik Eggdrop, NeoStats, BNC v.b. 3 27-02-2010 23:13
Port okuma IF Archiv 0 17-05-2008 22:49
Log okuma Socrat- mIRC Scripting Sorunları 10 19-01-2008 01:44
/dtara sürücü dosya(Dosya arama) L4roXyL Hazır Kodlar 2 21-09-2007 16:44

Copyright Link
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.1 PL1

IRCForumlari.net bir Chat markasıdır. IF 2003-2010 & All Right Reserved.
IRCForumlari.NET en iyi Google Chrome ile gezilebilir.
Forumda Tüm Zamanlar GMT +4 Olarak Ayarlanmış. Şuanki Zaman: 14:24.

Chat, webmaster, chat sohbet