|
Webmaster Genel kategorisinde açılmış olan PHP Dilinde Dosya İşlemleri - 1 konusu , ...
| LinkBack | Seçenekler | Arama | Stil |
29.04.2014, 01:46 | #1 (permalink) |
| PHP Dilinde Dosya İşlemleri - 1 PHP Dilinde Dosya İşlemleri - 1 PHP ile bir dosya üzerinde işlem yapmak her zaman bize lazım olabilecek bir olaydır. Özellikle MySQL ve benzeri veritabanı sistemlerinin desteklenmediği sunucularda ya da sayaç, maillist ve benzeri uygulamalarda verileri bir dosya üzerine yazıp bir dosya üzerinden okumak daha akıllıca ve işlevseldir. Bu makalede dosyaları açmayı, kapatmayı, dosya üzerine yazmayı, dosyaları okumayı, yeni dosyalar yaratmayı, silmeyi ve dosya yönetimi ile ilgili daha nice yararlı bilgileri anlatmaya çalışacağım. Giriş olayını fazla abartmadan hemen konuya girmekte sanırım yarar var. Çünkü bana oldukça uzun sürecek bir konuymuş gibi geliyor.. Dosyayı Açmak Bir dosya üzerine yazmak ya da bir dosyayı okumak için öncelikle o dosyayı açmamız gerekir. Dosyamızı açabilmemiz için gereken fonksiyon fopen(); fonksiyonudur. Aşağıda bu fonksiyonun yazım kuralını görüyorsunuz. Kod: Kod: fopen("dizin\dosya", dosya_modu); r: Dosyayı başından itibaren okumak için aç. r+: Dosyayı başından itibaren hem okumak hem de yazmak için aç. w: Dosyayı başından itibaren yazmak için aç. Eğer dosya mevcut değilse yeni bir dosya yarat, mevcutsa tüm içeriği sil. w+: Dosyayı başından itibaren hem okumak hem de yazmak için aç. Eğer dosya mecvut değilse yeni bir dosya yarat, mevcutsa tüm içeriği sil. a: Dosyayı başından itibaren yazmak için aç. Eğer dosya mevcut değilse yeni bir dosya yarat, mevcutsa dosyanın sonundan itibaren ekleme yap. a+: Dosyayı başından itibaren okumak ve yazmak için aç. Eğer dosya mevcut değilse yeni bir dosya yarat, mevcutsa dosyanın sonundan itibaren ekleme yap. Bir dosyayı açarken kullanacağımız dosya moduna dikkat etmeliyiz. Script`in işlevine göre uygun bir mod ile dosyayı açmalıyız. Aşağıdaki örnekten yararlanarak fopen(); fonksiyonunun kullanımı hakkında bilgi edinebilirsiniz. Kod: Kod: if (fopen("kayitlar.txt", "a+")) echo("Dosya açıldı."); else echo("Dosya açılamadı."); Kod: Kod: fopen("http://www.ornek.com/", "r"); Dosyaya Yazmak ve Dosyayı Kapatmak PHP ile bir dosyaya yazmak için öncelikle o dosyayı açmamız gerekir. Bunu fopen(); ile nasıl yapacağımızı sanırım öğrendik. Dosyaya yazmak için PHP dilinde fputs(); ve fwrite(); fonksiyonları kullanılır. İkisinin de yazım şekli aynıdır. Aşağıdaki örneği inceleyin. Kod: Kod: <?php $yazi1 = date("d.m.Y")."\t".date("G:i:s")."\t"."ve ben ilk yazımı yazıyorum!\n"; $yazi2 = date("d.m.Y")."\t".date("G:i:s")."\t"."ve ben ikinci yazımı yazıyorum!\n"; $ac = fopen("kayitlar.txt", "w+"); fputs($ac, $yazi1); fputs($ac, $yazi2); fclose($ac); ?> Dikkat ettiyseniz yazacağımız metinlerin arasında \t \n gibi karakterler bulunuyor. Bunların ne anlama geldiğini de yeri gelmişken izah edeyim. PHP ile çıktı aldığımız zaman kaynak kodlar genelde bitişik olarak ve düzensiz bir şekilde gelir. Bu elbette sayfa tasarımına yansımaz fakat kaynak kodları incelemeye çalıştığımızda bizi zor durumda bırakabilir. İşte bu karakter gruplarının kimisi burada devreye giriyor. Kimisi ise PHP tarafından kullanılan dolar işareti ($) ve ters bölme işareti (\) gibi işaretleri etkisizleştirmeye ve kullanabilmemize yarar. Kısaca bunların işlevlerini açıklamak gerekirse şunlar yazılabilir: \\: Ters bölü işareti. \': Tek tırnak işareti. \": Çift tırnak işareti. \$: Dolar işareti. \r: Kaynak kod içinde satır başı yapmak için kullanılır. \t: Kaynak kod içinde sekme (tab) yapmak için kullanılır. \n: Kaynak kod içinde yeni satıra geçer. Konuyu fazla dağıtmadan dosya işlemlerine geri dönelim. Örneğimizde bilmediğimiz bir başka fonksiyon ise dosyayı kapatmaya yarayan fclose(); fonsiyonudur. Bu fonksiyonun yazım kuralı örnekte görüldüğü gibidir, yani bağlantıyı yüklediğimiz değişkeni fonksiyon içerisine yazarak kolayca bağlantıyı kapatabiliriz. Dosyayı Okumak feof(); Fonksiyonu fgets(); ve fgetss(); Fonksiyonları fgetc(); Fonksiyonu readfile(); Fonksiyonu file(); Fonksiyonu fread(); Fonksiyonu Dosya açmayı, yazmayı ve kapatmayı öğrendikten sonra bunları nasıl okuyacağımızı öğrenme vakti de geldi. Öncelikle dosya okuma işlemleri için kullanacağımız fonksiyonları ve bunların işlevlerini belirtelim. feof(); Fonksiyonu: Bir dosyanın sonuna kadar okunup okunamadığını belirtir. Başka bir deyişle bir dosyayı baştan sona okumak için kullanılır. Zaten fonksiyonun ismi "File End Of File" anlamına gelir. Okunmaya çalışılan dosyanın sonuna erişilmesi durumunda sonuç true (1) olarak dönecek, aksi durumda ise false (0) olarak dönecektir. Genel olarak bir while döngüsü eşliğinde kullanılır. Yazım kuralı aşağıdaki gibidir; Kod: Kod: feof($ac); fgets(); ve fgetss(); Fonksiyonları: Bir dosyadan satır satır veri okumak için fgets(); fonksiyonu kullanılır. Yazım kuralı şöyledir; Kod: Kod: fgets($ac, 256); Bir de benzer olarak fgetss(); fonksiyonu vardır. Bu fonksiyonun benzerinden tek farkı, okunan dosya içerisindeki HTML tag`lerini yok ediyor olmasıdır. Yazım kuralı şöyledir; Kod: Kod: fgetss($ac, 100, "<b><u>"); fgetc(); Fonksiyonu: Bir dosyadan tek bir karakter okumak için fgetc(); fonksiyonu kullanılır. Fonksiyon her çağrıldığında bir karakter okuyacaktır. İçerisine tek bir parametre alır, bu da makalemizde $ac olarak gösterdiğimiz dosyayı açmamıza yarayan argümandır. Yazım kuralı şöyledir; Kod: Kod: fgetc($ac); Kod: Kod: $ac = fopen("kayitlar.txt", "r"); echo fgetc($ac); fclose($ac); readfile(); Fonksiyonu: Bir seferde tüm dosyayı okumak için bu fonksiyonu kullanırız. Fonksiyon icra edilirken öncelikle dosya açılır, sonra okunur ve çıktı verilir. Dosyayı kendiliğinden açtığı için ekstadan bir fopen(); kullanmamıza gerek kalmaz. Genel yazım kuralını gösteren bir örnekle bu fonksiyonu geçelim; Kod: Kod: readfile("kayitlar.txt"); // file(); Fonksiyonu: Bu fonksiyon ile dosya açılır, okunur ve her satırı bir diziye (array) kaydedilir. readfile(); fonksiyonu ile oldukça benzerdir fakat tek farkı çıktıyı bir dizi değişkenine atıyor olmasıdır. Aşağıdaki örneği inceleyin; Kod: Kod: $dizi = file("kayitlar.txt"); print_r($dizi); echo "<br>".$dizi[3]; fread(); Fonksiyonu: Bir dosyanın istediğimiz kadar kısmını okumak için bu fonksiyonu kullanırız. Dosyadan çekeceğimiz veri miktarını byte değerinden yazarız. Yazım kuralı aşağıdaki gibidir. Kod: Kod: fread($ac, veri_miktari); Kod: Kod: $ac = fopen("kayitlar.txt", "r"); echo fread($ac, 6); // Toplam 6 byte miktarında veri okuyoruz. fclose($ac); Dosya silmek için unlink(); fonksiyonunu kullanırız. Yazım kuralı aşağıdaki gibidir. İçerisine sadece silinecek olan dosyanın adresini alır. Kod: Kod: unlink("kayitlar.txt"); Kod: Kod: touch("kayitlar.txt");
__________________ |
29.04.2014, 01:49 | #2 (permalink) |
Root Administrator | Cevap: PHP Dilinde Dosya İşlemleri - 1 Konu Tarafımca Webmaster GeneL BöLümüne Taşinmistir. |
Yukarı'daki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz. |
| |
Forum hakkında | Kullanılan sistem hakkında |
| SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc. |