Php’de eval() fonksiyonun kullanımı
Yeni bir site üzerinde çalışırken bazı sayfaların içerisine gömdüğüm php kodlarını çalıştırmam gerekti. Bunun için sevgili kardeşim Mustafa Yakut‘a ilgili soruyu yönelttim. Bana daha önce pek ismini duymadığım eval() fonksiyonu ile ilgili bir kod parçacığı gönderdi. Birazcık araştırma yaptıktan sonra tam benim istediğim fonksiyon olduğunu farkettim. Siteye entegre ettikten sonra sizlerde paylaşmak istedim.
Fonksiyon sayesinde bir yazı dizisinin içine gömdüğüm php kodlarını okumasını sağladım. Aşağıda çok basit bir örnek ile açıklamaya çalışacağım.
İlk önce “default.php” adlı bir doysa oluşturup içeriği aşağıdaki gibidir.
<?php echo 5+4; ?>
Sonra “deneme.php” adlı dosya oluşturup aşağıdaki kodu ekliyorum.
<?php $code=file_get_contents("default.php"); $code = 'Paragrafın başlangıcı '. $code. ' buda son kısmı'; $code='?>' .trim($code) .'<?php;'; eval($code); ?>
Yukarıdaki kod öbeğini açıklamak gerekirse;
İlk önce “default.php” adlı dosyamın içindekileri okuyup “$code” isimli değişkene atıyorum. Sonra iki cümle arasına ekliyroum. Sonraki adımda ise sanki require_once veya include gibi yapmak için $code değişkenin başına “?>” ve sonunada “<?php;” yazıyorum. Bu şekilde yazarak ilgili sözcük öbeğini daha hızlı okuyup çalıştırmasını sağlamaktır. En son adımda ise eval() fonksiyonu kullanılarak ilgili söz öbeğindeki php kodlarını çalıştırarak ekrana basmaktadır.
deneme.php ‘yi çalıştırdığınızda çıktı aşağıdaki gibi olacaktır;
Paragrafın başlangıcı 9 buda son kısmı
NOT : php 5.4.7 sürümü ile birlikte ” ‘?>’ .trim($code) .'<?php;’ ” yazdığınızda hata alacaksınız. Bunun yerine ” ‘?>’ .trim($code) ” şeklinde yazmanız daha sağlıklı olacaktır. Hem eski sürümlerde sorun olmayacaktır hem de yeni sürümlerde.
2 yorum bulunmaktadır - “Php’de eval() fonksiyonun kullanımı”
Yorum Yapın
Etiketler
Son Yazılar
- Uzak sunucuda bulunan android cihaz ile otomasyon
- Mac’ de çoklu Java versiyon yönetimi
- İş yarar docker komutları
- Eski branchlerin git’ den silinmesi
- Kubernetes Süresi Dolmuş Sertifikaları Yenilemek
Son Yorumlar
- Hosting koşuşturması için
- Garanti Sanal Pos Kurulumu, Sorunlar ve Çözümler için
- Visual Studio Toolbox’a component(bileşen) eklenmesi için
- “File is too large for destination file system” hatasını gidermek için
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü için
Bağlantılar
Arşivler
- Kasım 2021
- Eylül 2021
- Ağustos 2021
- Temmuz 2021
- Aralık 2020
- Kasım 2020
- Ekim 2020
- Eylül 2020
- Kasım 2017
- Mayıs 2017
- Mart 2017
- Şubat 2017
- Ocak 2017
- Nisan 2015
- Aralık 2014
- Mayıs 2014
- Eylül 2013
- Haziran 2013
- Şubat 2013
- Kasım 2012
- Ekim 2012
- Eylül 2012
- Mart 2012
- Şubat 2012
- Ocak 2012
- Aralık 2011
- Kasım 2011
- Ekim 2011
- Eylül 2011
- Temmuz 2011
- Haziran 2011
- Mayıs 2011
- Mart 2011
- Ocak 2011
- Aralık 2010
- Kasım 2010
- Ekim 2010
- Eylül 2010
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009
Değerli bilgiler için teşekkür ederim.
Makale için teşekkürler… Fakat ufak bir noktayı belirtmek isterim. paylaşmış oldugunuz kodlar çalışır fakat yazınızın sonuna ‘ .trim($code) .” .trim($code) .'<?php ';
'<?php ' etiketinde ; yok ve php yazısından sonra bir boşluk mevcutdur.