Katman21 Δημοσ. 1 Μαρτίου 2014 Δημοσ. 1 Μαρτίου 2014 Καλησπέρα σας και καλο μηνα να έχουμε!Συναντάω πολλές φορές το πρόβλημα φορτώσεις αρχείου μέσω του include και ακόμα την πηγή του προβλήματος δεν την έχω καταλάβει..Δηλαδή π.χ έχω έναν φάκελο inc και μέσα περιέχεται το header.php αρχείο στο οποιο περιλαμβάνει όλα τα css και js αρχεία κλπ.Έτσι λοιπόν όταν έχω την διαδρομή: http://localhost/index.php και του καλώ από εκεί το header.php μέσα από το inc φάκελο όλα είναι εντάξει και δεν υπάρχει κανένα πρόβλημα..Όταν πάω όμως και δημιουργώ έναν νέο φάκελο π.χ: http://localhost/catigories/test.php και του καλο και από εκεί το header.php τότε μου βγάζει όλο το περιεχόμενο χωρίς να διαβάζει το css. Μήπως πρέπει να προσθέσω κάτι στο css? αν έχει αντιμετωπίσει κάποιος το ίδιο πρόβλημα ας μου λύσει αυτήν την απορία γιατί θα σκάσω
geomagas Δημοσ. 1 Μαρτίου 2014 Δημοσ. 1 Μαρτίου 2014 Ας πούμε ότι στο <head> έχεις κάτι σαν: <link rel='stylesheet' type='text/css' href='style.css'> Στην περίπτωση του http://localhost/index.php, ο browser θα προσπαθήσει να το κατεβάσει από το http://localhost/style.css Ενώ στην περίπτωση του http://localhost/catigories/test.php θα το ψάξει στο http://localhost/catigories/style.css Αν το έχεις αποθηκεύσει παράλληλα με το index.php, στη δεύτερη περίπτωση είναι φυσικό να μην το βρει. Άνοιξε μία κονσόλα στο browser και θα τα δεις όλα αυτα.
Katman21 Δημοσ. 1 Μαρτίου 2014 Μέλος Δημοσ. 1 Μαρτίου 2014 Όλα τα CSS είναι μέσα στον φάκελο CSS οποτε αυτό που κάνει το header είναι να το παίρνει έτσι: <link rel='stylesheet' type='text/css' href='css/style.css'>
geomagas Δημοσ. 1 Μαρτίου 2014 Δημοσ. 1 Μαρτίου 2014 Άρα λοιπόν στην πρώτη περίπτωση αναζητά το http://localhost/css/style.css ενώ στη δεύτερη το http://localhost/catigories/css/style.css Βάλε ένα / μπροστά από το css/ κάπως έτσι: <link rel='stylesheet' type='text/css' href='/css/style.css'> Έτσι, η διαδρομή σου θα είναι root-relative (θα ξεκινά πάντα από το http://localhost/).
Katman21 Δημοσ. 1 Μαρτίου 2014 Μέλος Δημοσ. 1 Μαρτίου 2014 Κάτι πάει να γίνει αλλα πετάχτηκαν αλλα τώρα..Μου έβγαλε ότι δεν βρίσκει το path του config.php ήμαρτον!Που στο inc/header.php περιλαμβάνεται και το config.php στον ίδιο φάκελοκαι όταν καλώ το categories/test.php με include ("../inc/header.php"); μου βγάζει σφάλμα: Warning: include(inc/config.php): failed to open stream: No such file or directory in C:\wamp\www\inc\header.php on line 1 Warning: include(): Failed opening 'inc/config.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\inc\header.php on line 1
geomagas Δημοσ. 1 Μαρτίου 2014 Δημοσ. 1 Μαρτίου 2014 Ε φυσικό δεν είναι; Αφού το categories δεν περιέχει κανένα φάκελο inc...
defacer Δημοσ. 2 Μαρτίου 2014 Δημοσ. 2 Μαρτίου 2014 Απλά σταμάτα να παλεύεις με τα relative paths. Φρόντισε με κάποιο τρόπο, ανεξάρτητα από το πως έχεις δομήσει τα αρχεία σου, τελικά με το που ξεκινάς να υπάρχει κάποιο constant που είναι το root της εφαρμογής σου ως προς http και ένα που να είναι το root όσον αφορά το filesystem. Απο κει και πέρα όπου έχεις αναφορές σε web assets βάζεις μπροστά το πρώτο, π.χ. <img src="<?= htmlspecialchars(WEB_ROOT) ?>images/logo.jpg" /> και όπου κάνεις includes το δεύτερο, π.χ. include(DIR_ROOT."config/database.php");
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα