Alt Klasörlere Eklenen header.php Dosyasında Oluşan Css Sorununun Çözümü
Normal düzende oluşturduğumuz klasör yapısı sitelerimizde şu şekilde oluşturulduğunda header.php’nin dahil edildiği dosyalarda eklenen css dosyaları sorunsuz çalışmaktadır.
Eğitim Videosu
Yazılı Anlatım
Klasör yapısı
- proje
- css
- style.css
- header.php
- index.php
- css
Birde şu yapıya göz atalım.
- proje
- css
- style.css
- sub
- sub.php
- header.php
- index.php
- css
bu klasör yapımızda sub alt klasörü içerisinde sub.php mevcut. header.php bu klasöre require_once ‘../header.php’; olarak dahil edildiğinde css dosyalarımızın işlevlerini kaybettiği görülmektedir. Bu sorunun temel amacı kök klasörde style dosyalarının yolları doğru olarak içe aktarılırken alt klasörden bir üste çıktığımızda bu yolların tam olarak gösterile memesidir.
Mevcut Proje Kod Yapımız
Öncelikle sorun yaşadığımız şekilde projemizi oluşturalım. Klasör yapımız aşağıda ki gibi olacak şekilde yapılandıralım.
- proje
- css
- style.css
- sub
- sub.php
- header.php
- index.php
- css
style.css
b { font-size: 65px; }
header.php
<!DOCTYPE html> <html> <head> <title>CSS yol belirleme</title> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body> </body> </html>
index.php
<?php require_once 'header.php'; ?> <b>emrahyuksel.com.tr</b>
sub.php
<?php require_once '../header.php'; ?> <b>emrahyuksel.com.tr</b>
Bu şekilde projemizi oluşturduktan sonra index.php ve sub.php dosyalarını gözlemleyelim.


iki önizlemeye göz attığımızda index.php dosyasında style.css dosyası işlevlerini yerine getirirken sub.php dosyasında header.php ekli olmasına rağmen stlye.css dosyası işlev görmüyor.
css dosyalarının yollarını kök klasör baz alınarak yapılandırma
Bu sorunun temel sebebi alt klasörlerde ../header.php eklenirken css style dosyalarının yol karmaşası yaşamasıdır.
sub.php
sub.php dosyasında header.php’yi dahil ettiğimiz kısımda $_SERVER[‘DOCUMENT_ROOT’] global değişkeni kullanılarak tam klasör yolu baz alınarak uygulayın.
<?php require_once $_SERVER['DOCUMENT_ROOT'].'/header.php'; ?> <b>emrahyuksel.com.tr</b>
header.php
header.php’de şu düzenlemeyi yapın.
//Önce <link rel="stylesheet" type="text/css" href="css/style.css"> //Sonra <link rel="stylesheet" type="text/css" href="/css/style.css">
klasör yol yapımız mevcut bir domain baz alınarak uygulandığında bu sonucu verecektir. eğer localhost üzerinde çalışıyorsanız DOCUMENT_ROOT sonucunu önizleyerek klasör yollarına göre işlem yapmanız gerekecektir. Bahsettiğimiz işlemler alan adı altında gerçekleştirildiğinde doğru sonuç verecek şekilde gösterilmiştir.
Dikkat!
Ücretsiz Kursunuz Burada
C# Kurs: Yeni Başlayanlara Özel Projelerle Sıfırdan Öğrenin
10 ücretsiz kayıt hakkı
Kayıt Linki : https://www.udemy.com/csharp-kursu/?couponCode=F5XQYHSA
Ücretsiz kurs ister misin kaydol!
İstanbul Üniversitesi Yönetim Bilişim Sistemleri Yüksek Lisans derecem ve kamu sektöründeki tecrübemle profesyonel kariyerime Yazılım Yöneticisi olarak devam ediyorum. Edindiğim bilgi birikimi ve deneyimlerimi, yazılım ve teknoloji alanında kendini geliştirmek isteyenlere rehberlik etmek amacıyla paylaşıyorum.
Bu kanalda, sıfırdan ileri seviyeye kadar kapsamlı ve pratik odaklı yazılım dersleri bulabilir, kariyer yolculuğunuzda bir adım öne geçebilirsiniz. Eğer yazılım dünyasında kendinize sağlam bir yer edinmek istiyorsanız, doğru yerdesiniz.
Haydi, öğrenmeye ve birlikte büyümeye başlayalım!
Merhaba Kaptan,
Benim kök dizinde assets klasörü altında css ve js klasörlerim var. Kök dizinde ayrıca template-parts klasörüm ve bu klasör altında header.php ve footer.php var. Kök klasördeki index.php’den stil dosylarına ulaşabiliyorum. Ancak kök klasör altında pages klasörü içindeki herhangi bir php dosyasından stil dosyalarına erişemiyorum. Bu konuda yardımcı olabilirseniz müteşekkir olurum.
Selamlar,