Server-Side Includes με την PHP
Αν έχετε δουλέψει για λίγο στο Internet, θα έχετε ίσως συναντήσει τον όρο Server-Side Includes (SSI's). Στην ουσία, τα SSI's μάς δίνουν τη δυνατότητα να καταχωρήσουμε το περιεχόμενο ενός αρχείου που είναι αποθηκευμένο στον Web server μας, στη μέση ενός άλλου. Η πιο κοινή χρήση αυτής της δυνατότητας είναι για να ενθυλακώσουμε (encapsulate) τα στοιχεία κοινής σχεδίασης ενός Web site σε μικρά HTML αρχεία που θα μπορούν έτσι να συμπεριληφθούν στις Web pages on the fly (στον αέρα).
Οποιαδήποτε αλλαγή σ’ αυτά τα μικρά αρχεία επηρεάζει αμέσως όλα τα αρχεία που τα συμπεριλαμβάνουν. Και όπως ακριβώς ένα PHP script, ο Web browser δεν χρειάζεται να γνωρίζει ποια είναι αυτά εφόσον ο Web server είναι αυτός που κάνει όλη τη δουλειά πριν στείλει την ζητούμενη σελίδα στον browser. Η PHP έχει μια συνάρτηση που παρέχει παρόμοιες δυνατότητες. Αλλά εκτός από το να περιλαμβάνει κανονική HTML και άλλα στατικά στοιχεία στα συμπεριλαμβανόμενα αρχεία, μπορούμε επίσης να συμπεριλάβουμε κοινά στοιχεία script. Ας δούμε ένα παράδειγμα :
<?php
echo( "
Hallo from Florina!\n" );
?>
Το παραπάνω αρχείο, include-me.inc, περιέχει κάποιον απλό κώδικα PHP. Το όνομα του αρχείου έχει κατάληξη .inc και όχι .php. Η ιδέα εδώ είναι να ονομάσουμε το αρχείο με κάτι διαφορετικό απ’ αυτό που θα περίμενε ο Web server για ένα PHP script. Αυτό εξασφαλίζει ότι το αρχείο θα μπορεί να εκτελεσθεί μόνο αν συμπεριληφθεί σ’ ένα από τα .php αρχεία και επίσης μας βοηθάει να διαχωρίσουμε τις ιστοσελίδες της PHP από τα include αρχεία της PHP.
Θα χρειαστούμε επίσης και το εξής αρχείο :
<HTML>
<HEAD>
<TITLE> Test of PHP Includes </TITLE>
</HEAD>
<BODY>
<?php
include("include-me.inc");
?>
</BODY>
</HTML>
Αυτό το αρχείο μοιάζει περισσότερο με τα PHP scripts που γνωρίζουμε καθώς έχει επέκταση .php ή .php3 αν το απαιτεί ο server. Στην κλήση της συνάρτησης include() καθορίζουμε το όνομα του αρχείου που θέλουμε να συμπεριλάβουμε (include-me.inc) και η PHP θα προσπαθήσει να πάρει το αρχείο αυτό και να το ενσωματώσει. Κάνουμε upload και τα δύο παραπάνω αρχεία στον Web server και φορτώνουμε το testinclude.php στον browser. Θα δούμε μια Web page που θα περιέχει το μήνυμα από το include αρχείο, όπως αναμενόταν.
Αν αυτό το παράδειγμα δεν δουλέψει, θα χρειασθεί να κάνουμε configure την επιλογή include_path στο αρχείο php.ini. Ανοίγουμε το αρχείο μ’ έναν text editor και ψάχνουμε μια γραμμή που ξεκινά με το include_path. Αυτή η ρύθμιση δουλεύει όπως ακριβώς η γνωστή μας μεταβλητή περιβάλλοντος PATH και περιέχει μια λίστα των καταλόγων όπου θα πρέπει να ψάξει η PHP για τα αρχεία που της ζητάμε να κάνει include. Τη ρυθμίζουμε ώστε να περιέχει το "." (το τρέχον directory).
Ανάλογα με το αν ο server μας τρέχει κάτω από τα Windows ή το UNIX, θα χρειασθεί να περιβάλλουμε τη ρύθμιση με εισαγωγικά :
Στο UNIX :
include_path=.:/another/directory
Στα Windows :
include_path=".;c:\another\directory"

LinkBack URL
About LinkBacks







Απάντηση με παράθεση