Sql Olmadan PHP Config Dosyası Kayıt Ve Regex
-
Selamlar
<?php /*------------------- * * SCRIPT AÇIKLAMA BÖLÜMÜ * --------------------*/ // XYZ Ayarları $xyz_ayar1 = "deger1" // XYZ Ayar 1 Açıklama $xyz_ayar2 = "deger2" // XYZ Ayar 2 Açıklama ?>
Bu şekilde bir config.php dosyam var ve config ayarlarını buradan çekip buraya kaydediyorum. Bu dosyadan config ayarlarını alırken regex yapıp değişken ve değerlerini array halinde aşağıda verdiğim kod ile çekiyorum. Ama bu config dosyasına eklediğimiz en küçük bir yazıda/karekterde yeni regex kuralı yapmamız gerekiyor. Ve ben bunun için aşağıdaki kodu kullanıp tüm değişkenleri ve değerlerini array e atıyorum.
<?php $config_file = @fopen("config.php", "r"); while ($lines = @fgets($config_file, 1024)){ $lines = ereg_replace("#.*$", "", $lines); $lines = ereg_replace("//.*$", "", $lines); $lines = ereg_replace("\*.*$", "", $lines); $lines = ereg_replace("-.*$", "", $lines); list ($variables, $values) = explode ("=", $lines); $variables = trim ($variables); $values = trim ($values); if (!empty($variables)){ $config_setting[$variables] = $values; } } fclose($config_file); var_dump($config_setting); ?>
Sorum şu: config.php ye yeni bir karekter girdiğimde regex kurallarını değiştirmem gerekiyor. Ama bir admin panelim var ve sql olmadan ayarları config.php içerisinde tutup yapılan değişiklikleri tekrar config php içerisine atıyorum. Bunun için başka bir çözüm önerisi olan var mı?
PLaXToR tarafından 23/Eki/16 16:52 tarihinde düzenlenmiştir -
Php de veritabanı dışında config tutan yok mu
-
Hocam ayarlarını ini dosyasına yazmayı deneyebilirsin. ini dosyasını okurken de parse_ini_file() fonksiyonu ile regex kullanmadan değerlerini dizi içine atabilirsin.
Edit: Php manual linki: http://php.net/manual/tr/function.parse-ini-file.php
-
Evet hocam onu gördüm. ini olarak yapılandırmanın bi dezavantajı var mıdır? bir de ini ye yaptığımız dğeişiklikleri kayıt edebiliyor muyuz?
-
Bir dezavantajı olmaz hocam. Aslında senin verdiğin örnekte de benzerini yapıyorsun. Yanlız neden fopen ile php dosyasını açıp ilgili değişkenleri parse etmeye çalıştın onu anlamadım php dosyasını include edip değişkenleri direk kullanabilmek varken?
-
JSON olayını da araştırabilirsin, daha yararlı olacaktır.
-
aercys bunu yazdı
Bir dezavantajı olmaz hocam. Aslında senin verdiğin örnekte de benzerini yapıyorsun. Yanlız neden fopen ile php dosyasını açıp ilgili değişkenleri parse etmeye çalıştın onu anlamadım php dosyasını include edip değişkenleri direk kullanabilmek varken?
Yok zaten direk include edip değişkenleri ordan alıyorum. Ama değişkenler yönetici panelinden güncellenmek istenip kayıt edilirse yukardaki problemler oluyor. Şu ini olayını gözden geçireyim. Config ile aynı mantık ama ini ye comment falan bırakmadığın için aynı mantığa geliyor.
Wordpress config için define kullanıyor. Ama define edilen değerin içeriğini php de değiştirmek için yine fopen işlemlerine girmek gerekecek...
PLaXToR tarafından 24/Eki/16 01:32 tarihinde düzenlenmiştir -
.ini olarak kaydet yazmaya gelmiştim, yazılmış.
-
İni veya json formatında olursa verileriniz başkaları tarafından okunabilir.
Verileri dizide tutmayı deneyebilirsiniz :))