KategorilerPHPYazılımlar

[PHP] txtController ile Metin (txt) Dosyalarınıza Hükmedin

Bu basit class yardımı ile txt (metin) dosyalarını çok rahat bir şekilde yönetebileceksiniz. Herhangi bir txt dosyası oluşturabilir, silebilir ve düzenleyebilir. O txt dosyasının belirli satırlarını silip, düzenleyebilirsiniz. Can sıkıntısından kodlamış olduğum class’ı herkes kullanabilir.

İndirme (Github)

Github üzerinden ücretsiz ve açık kaynak kodlu bir şekilde indirebilirsiniz. Başka hiçbir yerde paylaşımının, dağıtımının ve satışının yapılması yasaktır.

Github Linki: https://github.com/altayevrim/txtController

Kullanım

Bu class’ı kullanmak için önce bir sayfanıza dahil edin.

require_once ('class.txtController.php');

Ardından class’ı çağırın. Şimdi class kullanıma hazır. Devam edelim…

$txt = new txtController;

Hataları Yakalamak

Bir hata oluştuğunda sistem otomatik olarak bir hata mesajı verir ve fonksiyonların hepsi FALSE yani boş bir değer döndürür. O tür durumlarda hatanın ne olduğunu öğrenebilmek için aşağıdaki hata yakalama fonksiyonunu kullanmanız gerekir. Bir hata oluştuğunu veya oluşabileceğini düşündüğünüz yerlerde bu fonksiyonu kullanıp hataları yakalayabilirsiniz.

$error = $txt->error();
echo $error;

Dosya Açmak

Öncelikli olarak bir dosya açmamız lazım. Bunun için aşağıdaki fonksiyonu kullanacağız. Dosya yoksa bu fonksiyon belirttiğiniz isimde bir dosya yaratıp onu açacaktır. Fakat unutmadan belirteyim, bu fonksiyon yeni bir dizin oluşturamaz. Belirtmekte yarar var, öncelikli olarak bu fonksiyonu kullanmadan hiçbir işlem yapamazsınız.

$txt->open("mytxtfile.txt");

Ayrıca eğer dosya oluşturmanız gerekecekse bu dosyaya varsayılan bir değer de atayabilirsiniz,

$txt_data = "TxT içeriğim"; $txt->open("mytxtfile.txt", $txt_data);

Dosya İçeriğini Okumak

Halihazırda açılmış olan dosyamızın içeriğine göz atmak istersek bu fonksiyonu kullanabiliriz. Bir kaç opsiyonel ek özelliği olan bu fonksiyon sayesinde metin belgesinin tüm içeriğini ekrana yazdırabilir, satırları otomatik olarak <br> ile HTML uyumlu bir şekilde görünmesi için değiştirebilirsiniz.

Basit Örnek (sadece metin içeriğini döndürür)

$txt_data = $txt->read();

Detaylı Örnek (bu örnek ile bazı opsiyonel özellikleri nasıl kullanacağınızı göreceksiniz)

//Döndürülen değeri direk php'nin ekrana yazdırma özelliği ile ekrana yazdırsın mı? (TRUE/FALSE)
$echo =TRUE;
//HTML için yeni satırları otomatik olarak <br /> etiketi ile değiştirsin mi?
$add_br=TRUE;
$txt->read($echo, $add_br);

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Dosyayı Silme

open fonksiyonu ile açmış olduğumuz dosyayı silmeye yarar. Dosya sunucudan tam olarak silinir ve geri getirilemez. (hiçbir uyarı vs. vermez)

$txt->delete();

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Dosya İçeriğini Değiştirme

Açık olan dosyanın içeriğini değiştirmenizi sağlar, dosya içeriği sizin yeni belirttiğiniz dosya içeriği ile değiştirilir, yani eski verilerin üzerine yazılır. Geri dönüşü olmaz.

$new_data = "Yeni TxT içeriğim, bu yazı eski verilerin yerine yazılacak.";
$txt->change($new_data);

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Dosyaya Ekleme Yapmak

Açık olan dosyanın içeriğini tamamen değiştirmek yerine sadece ekleme yapmak istiyorsanız bu fonksiyon tam size göre. Yanında yeni bir satıra ekleme işlemi yapmak için opsiyonel bir özelliği de bulunmaktadır.

Basit Örnek (sadece dosyaya yeni bir içerik ekler, önceki satırdan devam edilir)

$additional_data = "Bu benim ek içeriğim.";

$txt->append($additional_data);

Detaylı Örnek (bu örnek ile bazı opsiyonel özellikleri nasıl kullanacağınızı göreceksiniz)

$additional_data = "Bu benim ek içeriğim, ayrıca bu içerik yeni bir satırda yazılacak.";
//Yeni bir satıra ekleme yapılsın mı? (TRUE/FALSE)
$new_line = TRUE;

$txt->append($additional_data, $new_line);
Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Belirli Bir Satırı Döndürmek

Metin belgesinin tamamına değil de sadece belirli bir satırına ihtiyacınız varsa ve bir sürü kod ile uğraşmak istiyorsanız sadece bu kod ile istediğiniz satırı döndürebilirsiniz. Belirtmekte yarar var, bilgisayar dilinde ilk sayı 0 olduğundan 6. satır için 5 yazmanız gerekmekte.

$line_number = 5; //Satır numaramız - aslında 1 eksiği :)
$txt->get_line($line_number); //Bu bize 6. satırı döndürecek

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Belirli Bir Satırı Silmek

Aynı get_line fonksiyon gibi çalışır. Tek farkı satırı döndürmez, kalıcı olarak siler 🙂 Bunda da ilk satır olarak 0’ı ele almanız gerekmekte yani 6. satırı silmek için 5 yazmalısınız (bir yanlışlık olmasın da, sonra verim gitti diye yorumlar atmayın 🙂 )

$line_number = 5; //Satır numaramızın bir eksiği
$txt->del_line($line_number); //6. satır silindi, kurtuluşu yok :)

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Belirli Bir Satırı Değiştirmek

Bu da yukarıdakiler gibi çalışıyor ama bu sadece belirli bir satırı değiştiriyor. Yeni veriyi üzerinde yazdığını ve yine saymaya 0’dan başlayacağımızı unutmayalım.

$line_number = 5; //Değiştirmek istediğiniz satırın bir eksiği
$new_data = "Bu satırımın yeni içeriği!";
$txt->change_line($line_number, $new_data); //6. satırı değiştirir.

Dönebilecek Hatalar: Eğer open fonksiyonunu kullanıp bir dosya açmadıysanız hata dönecektir. error fonksiyonu ile bu hatayı yakalayabilirsiniz.

Herhangi bir yardıma ihtiyacınız olduğunda yorum atabilirsiniz… Class geliştirilmeye açıktır.

Ek olarak; işin en yorucu kısmı bu class’ı kodlamak değil, bu dökümantasyonu hazırlamak oldu. Bu tür şeyleri yazmak hep yorucu olur zaten.

“[PHP] txtController ile Metin (txt) Dosyalarınıza Hükmedin” üzerine 10 yorum

$data = fopen(‘v1.txt’, ‘r’);
$rakam = fread($data, filesize(‘v1.txt’));//sayacın bulunduğu dosya
fclose($data);
$txt = new txtController;
$error = $txt->error();
echo $error;
$txt->open(“v1kayit.txt”);//ip, tarih ve sayacın kaydının olduğu dosya
$txt_data = $txt->read();
$txt->get_line($rakam); //Bu bize ilk dosyadaki sayacın sayısında satırı döndürecek
$error = $txt->error();
echo $error;
kodlarınızı kullandım ama istediğim satırı döndürmüyor
$echo =TRUE;
//HTML için yeni satırları otomatik olarak etiketi ile değiştirsin mi?
$add_br=TRUE;
$txt->read($echo, $add_br);
yazdığım zaman da tüm kayıtları peşpeşe sıralıyor. Nerede hata yapıyor olabilirim acaba? Yardımcı olabilir misiniz?

Merhaba, normalde $add_br değerini TRUE olarak atadığınız zaman sorunsuz bir şekilde, gerekli
etiketlerinin sistem tarafından eklenmesi gerekli. Ekran görüntüsüyle birlikte bana https://destek.rimtay.com/ adresinden bir destek talebi açmanız durumunda size özel olarak yardımcı olabilirim. İyi geceler dilerim 🙂

dostum öncelikle eline sağlık. ben dosyayı açarken hep Undefined variable: txt sorunla karşılaşıyorum! dosyam txt dosyası dizinde doğru bir türlü açmıyor yardım edersen teşekkürler!

merhaba benim bir istegim olacak bir simdi veri.txt icinde eger kelime veya cümle Acik yaziyorsa 1 sayfaya yönlendirecek eger veri.txt kapali yaziyorsa 2 sayfaya yönlendircek bunu nasıl becere bilirim yarimci olurmusun

Ben butona tıklandıktan sonra bir satırdan veriyi çektikten sonra ekrana yazdırdıktan sonra diğer satıra geçmesini istiyorum bunu nasıl yapabilirim yardımcı olun lütfen

Merhaba; bunu yapmak için özel bir fonksiyon yok fakat şu yolla yapabilirsin 😉

$data = $this->read();
$lines = explode("\n",$data);
$last15 = array_slice($lines,-15); // son 15 satır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir