Ben bir dosya işleyicisi sınıfının üzerinde çalışıyorum ve dosya akışları ile bazı sorunları çalıştırıyorum. Böyle append ve üzerine yazma gibi işlemler için işlevsellik sağlanması fopen geçirilen modunu değiştirmeden basit bir mesele vardır.
Ancak, ekleme, güncelleştirme ve silme için kolay bir yol sağlayarak daha zor olduğu kanıtlıyor. Hemen hemen, ben yaşıyorum, tüm sorunları fwrite ile.
Takın - Bildiğim kadarıyla söyleyebilirim, fwrite dosyanın sonuna başka bir yerde karakterleri eklemek için bir yol yoktur. Ben file_get_contents kullanarak ve ağır dosyayı genişletmek için fseek / fwrite kullanıyor ile geldim iki seçenek.
Sil - Ne yazık ki, fwrite NULL yazmaya çalışan bir 'silinmesi' bir karakter olarak aynı şey değildir. Veri ekleme gibi, seçenekleri tekrar file_get_contents ve fseek / fwrite vardır.
Güncelleme - Bir dosyanın içindeki verileri güncellenmesi ekin bir kombinasyonudur / sorunları silin. Yeni değer eski değerden daha kısa ise, o zaman ek karakterleri silmek gerekiyor. Yeni değer eski değerden daha uzunsa, ben ek karakterler eklemek gerekiyor. Onlar aynı uzunlukta ise, o zaman sadece fwrite iyi olacak.
Umarım, temiz bu sorunu çözebilirsiniz ben farkında değilim bir şey var. Ben kullanımı file_get_contents (tüm dosya belleğe okunması gerekir beri hangi için umurumda değil) veya ağır (benim kıvrık görünüyor) dosyanın uzunluğunu değiştirmek için fseek / fwrite kullanmanız ya bulunan seçeneklerin her.
Herkes düşünce değil, bir fikir var mı?
Teşekkürler!