Σύνδεση αρχείων τρίτων σε PHP. Σύνδεση εξωτερικών αρχείων Σύνδεση σελίδας php

Σήμερα θα σας πω πώς γίνεται η σύνδεση διαφορετικών τύπωνσενάρια για τον ιστότοπό σας. Αυτά είναι κάπως τα βασικά, και θα έπρεπε να είχα γράψει αυτό το άρθρο ένα από τα πρώτα. Επομένως, ας ξεκινήσουμε.

Σύνδεση σεναρίων JS (αρχεία με επέκταση *.js) στον ιστότοπο

Η JavaScript μας βοηθά να βελτιώσουμε τη λειτουργικότητα του ιστότοπου με πολλούς τρόπους. Είτε πρόκειται για σχηματοποίηση μορφών είτε, για παράδειγμα, ορισμένων τεχνική πλευράερώτηση.

Το JavaScript μπορεί να συνδεθεί με δύο τρόπους:

1. Πρώτα– αυτό είναι η απευθείας εισαγωγή κώδικα στον ιστότοπό σας χρησιμοποιώντας ετικέτες:

Κώδικας

2. Δεύτερος– χρησιμοποιώντας το αρχείο:

Όπου "https://www.pandoge.com/main.js" είναι η διαδρομή προς το αρχείο σεναρίου. Συνιστάται η εγγραφή αυτής της επιλογής για αρχεία σε απομακρυσμένο (εξωτερικό) διακομιστή. Εάν το αρχείο βρίσκεται στον ιστότοπό σας, τότε μπορείτε απλά να καθορίσετε τη σχετική διαδρομή:

Αυτό είναι βολικό εάν θέλετε ξαφνικά να αλλάξετε τον τομέα ή να μεταφέρετε τον ιστότοπο σε διαφορετικό πρωτόκολλο.

Όσον αφορά τη θέση σύνδεσης, συνιστάται να συνδέσετε όλα τα σενάρια στην ενότητα HEAD, πριν από την ετικέτα κλεισίματος. Για παράδειγμα:

Τα πάντα για έναν αρχάριο webmaster

Μπορούν επίσης να συνδεθούν στην ενότητα BODY. Για παράδειγμα, συνιστάται να συμπεριλάβετε όλες τις βιβλιοθήκες στην ενότητα HEAD, ενώ όλοι οι μετρητές, τα ρυθμιστικά, οι γκαλερί και άλλα σενάρια περιλαμβάνονται στην ενότητα BODY, επίσης πριν από την ετικέτα κλεισίματος.

Σύνδεση σεναρίων PHP (αρχεία με επέκταση *.php) στον ιστότοπο

Η σύνδεση σεναρίων PHP πραγματοποιείται με τρεις τρόπους:

1. Πρώτα– αυτή είναι η ίδια εισαγωγή κώδικα στην ίδια τη σελίδα του ιστότοπου (σημειώστε ότι εάν έχετε μια σελίδα με την επέκταση *.html, πρέπει να αλλάξετε την επέκταση σε *.php) χρησιμοποιώντας ετικέτες:

2. Χρησιμοποιώντας ένα αρχείο (σε αυτήν την περίπτωση, η σύνδεση μπορεί να γίνει και σε σελίδα με επέκταση *.html):

Αλλά για να λειτουργήσει αυτή η μέθοδος, πρέπει να προσθέσετε αυτές τις γραμμές στο αρχείο .htaccess, το οποίο βρίσκεται στη ρίζα του ιστότοπού σας, στην κορυφή:

RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml

Εάν ένα τέτοιο αρχείο δεν είναι διαθέσιμο στη φιλοξενία σας, δημιουργήστε το χρησιμοποιώντας οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου.

3. Τρίτος– χρησιμοποιώντας ένα σενάριο JS. Σε αυτήν την περίπτωση, μπορείτε επίσης να λάβετε το αποτέλεσμα του εκτελεσμένου σεναρίου PHP στον διακομιστή.

Η υλοποίηση θα έχει ως εξής:

$(document).ready(function() ( $(".result").load("/main.php"); ));

Όπου ".result" είναι η κλάση όπου θα φορτωθούν τα δεδομένα και "/main.php", αντίστοιχα, είναι η διεύθυνση στο σενάριο PHP.

Εάν φορτώνετε δεδομένα από άλλο διακομιστή, τότε Υποστήριξη PHPδεν απαιτείται στον διακομιστή σας. Μην ξεχάσετε να συνδέσετε τη βιβλιοθήκη jQuery στον ιστότοπό σας.

Εδώ οι κανόνες είναι απολύτως οι ίδιοι: η πλήρης διεύθυνση του αρχείου, εάν βρίσκεται στο εξωτερικό διακομιστή, συγγενής – αν στο δικό σας.

Δίνω προσοχή! Εάν θέλετε να συνδέσετε ένα σενάριο PHP στον ιστότοπό σας, τότε ο διακομιστής πρέπει να έχει υποστήριξη PHP. Επικοινωνήστε με τον πάροχο φιλοξενίας για να μάθετε εάν έχετε αυτήν την επιλογή.

Εάν συνδέετε σενάρια για πρώτη φορά, δοκιμάστε να συνδέσετε σενάρια από το αρχείο, το οποίο επισυνάπτεται στο τέλος του άρθρου. Εάν και στις δύο περιπτώσεις λάβατε το μήνυμα " Γεια σου Κόσμο! "σημαίνει ότι τα έκανες όλα σωστά.

Η PHP έχει τη δυνατότητα να περιλαμβάνει αρχεία με κώδικα μέσα σε άλλα αρχεία. Αυτό γίνεται για να δημιουργηθεί η αρχιτεκτονική της εφαρμογής.

Αρχιτεκτονική λογισμικό(eng. αρχιτεκτονική λογισμικού) - ένα σύνολο από τις πιο σημαντικές αποφάσεις σχετικά με τον οργανισμό σύστημα λογισμικού. Η αρχιτεκτονική περιλαμβάνει:

  • η επιλογή των δομικών στοιχείων και των διεπαφών τους με τις οποίες αποτελείται το σύστημα, καθώς και η συμπεριφορά τους στο πλαίσιο της συνεργασίας των δομικών στοιχείων·
  • σύνδεση επιλεγμένων στοιχείων δομής και συμπεριφοράς σε όλο και μεγαλύτερα συστήματα·
  • ένα αρχιτεκτονικό στυλ που καθοδηγεί ολόκληρο τον οργανισμό - όλα τα στοιχεία, τις διεπαφές τους, τη συνεργασία και τη σύνδεσή τους.

Δηλαδή, πρέπει να σπάσουμε τον κώδικά μας σε ξεχωριστά μέρη, καθένα από τα οποία θα εκτελέσει τον δικό του ρόλο. Για παράδειγμα, μπορείτε να μετακινήσετε ορισμένες λειτουργίες σε ξεχωριστό αρχείο, συνδέστε αυτό το αρχείο μέσα σε ένα άλλο και χρησιμοποιήστε το ήδη σε αυτό το αρχείο.

Το θέμα της αρχιτεκτονικής είναι ότι τα στοιχεία του προγράμματος που είναι υπεύθυνα για κάποια παρόμοια συμπεριφορά βρίσκονται σε ένα μέρος και μπορούν εύκολα να βρεθούν και να αλλάξουν.

Λοιπόν, γενικά, ας χρησιμοποιήσουμε ένα παράδειγμα. Αλλά πρώτα, ας εξετάσουμε μια «μαγική» σταθερά. Μιλάμε για σταθερά __DIR__. Περιέχει τη διαδρομή προς τον κατάλογο στον οποίο βρίσκεται το τρέχον σενάριο (το σενάριο στο οποίο χρησιμοποιήθηκε αυτή η σταθερά).

Ας το γράψουμε στα δικά μας index.phpτον παρακάτω κωδικό:

Ζυγοί και περιττοί αριθμοί Αριθμός 2
Νούμερο 5
Νούμερο 8

Ελπίζω να μην ξέχασε κανείς ότι μπορείτε να εισάγετε κώδικα PHP απευθείας μέσα στο HTML; Μιλήσαμε για αυτό στο. Μόνο εκεί χρησιμοποιήσαμε μια κατασκευή σαν αυτή για έξοδο:

Εάν στην εισαγωγή χρειάζεται μόνο να εμφανίσουμε το αποτέλεσμα κάποιας έκφρασης, τότε μπορεί να απλοποιηθεί ως εξής:

Και αν πάμε τώρα στη διεύθυνση URL της εφαρμογής μας στο πρόγραμμα περιήγησης, θα δούμε τα εξής:

Η εφαρμογή μας εκτελέστηκε με επιτυχία και ο κώδικας της κύριας σελίδας δεν περιέχει βοηθητικές λειτουργίες - χρησιμοποιούνται χρησιμοποιώντας την οδηγία συμπεριλαμβάνωσυνδεδεμένο με το αρχείο μας. Πιο αναλυτικά - Κώδικας PHP από αρχείο λειτουργίες.phpεισήχθη εκεί όπου συνδέθηκε χρησιμοποιώντας την οδηγία συμπεριλαμβάνω.

Διαφορά μεταξύ απαίτησης και συμπερίληψης

Υπάρχει μια άλλη οδηγία για τη σύνδεση αρχείων - απαιτώ. Εάν αντικαταστήσετε τώρα συμπεριλαμβάνωεπί απαιτώ, όπως αυτό:

Απαιτείται __DIR__ . "/functions.php";

τότε τίποτα δεν θα αλλάξει ουσιαστικά - ο κώδικας θα λειτουργεί ακριβώς το ίδιο.

Ωστόσο, εξακολουθεί να υπάρχει μια διαφορά μεταξύ τους. Βρίσκεται στο γεγονός ότι αν δεν βρεθεί το αρχείο που περιλαμβάνεται, τότε πότε συμπεριλαμβάνωθα προκύψει προειδοποίηση, αλλά το πρόγραμμα θα συνεχίσει να εκτελείται. Και αν η υποδοχή δεν είναι εκεί όταν προσπαθείτε να την εκτελέσετε απαιτώ, τότε θα προκύψει ένα μοιραίο σφάλμα και το σενάριο θα τερματιστεί.

Ας επαναφέρουμε την οδηγία ξανά συμπεριλαμβάνω, ας μετονομάσουμε λειτουργίες.php V abc.phpκαι προσπαθήστε να ενημερώσετε τη σελίδα.

Λάβαμε λάθη διαφόρων τύπων. Το πρώτο είναι προειδοποίηση, υποδεικνύοντας ότι το αρχείο λειτουργίες.phpδεν βρέθηκε. Αλλά το σενάριο συνέχισε να εκτελείται και στη συνέχεια έπεσε στη γραμμή 10 επειδή η συνάρτηση δεν βρέθηκε isEven(), και αυτό είναι ήδη μοιραίο λάθος.
Ας αντικαταστήσουμε τώρα συμπεριλαμβάνωεπί απαιτώκαι ενημερώστε ξανά τη σελίδα.

Τώρα έχουμε μοιραίο λάθοςαμέσως στη δεύτερη γραμμή, η εφαρμογή ολοκλήρωσε τις εργασίες της σε αυτό το σημείο.

Ήτοι απαιτώπρέπει να χρησιμοποιείται όπου απαιτείται συμπερίληψη αρχείου. Για παράδειγμα, ένα αρχείο με ρυθμίσεις παραμέτρων ή απαραίτητες λειτουργίες.

ΕΝΑ συμπεριλαμβάνωμπορεί να χρησιμοποιηθεί για αρχεία που δεν χρειάζεται απαραίτητα να συμπεριληφθούν (αν ο κώδικας μπορεί να συνεχίσει να εκτελείται χωρίς αυτά). Παράδειγμα: αρχείο κώδικα διαφήμιση banner. Ναι, η διαφήμιση δεν θα εμφανίζεται, αλλά ο ιστότοπος θα συνεχίσει να λειτουργεί.

Πώς αλλιώς μπορείτε να χρησιμοποιήσετε απαιτούν και περιλαμβάνουν

Εκτός από το γεγονός ότι μπορείτε να συμπεριλάβετε αρχεία με κώδικα PHP, μπορείτε επίσης να συμπεριλάβετε αρχεία που περιέχουν κάποιο κείμενο, ή συγκεκριμένα κώδικα HTML.

Προτείνω να λάβετε υπόψη την εξής κατάσταση: στον ιστότοπό μας έχουμε πάντα την ίδια κεφαλίδα, πλαϊνή γραμμή και υποσέλιδο, αλλά ο τίτλος και το περιεχόμενο της σελίδας αλλάζουν. Ας υποθέσουμε ότι ο ιστότοπός μας μοιάζει με αυτό:

Έχω επισημάνει με πράσινο χρώμα το τμήμα της σελίδας που θα αλλάξει.

Ας δημιουργήσουμε πρώτα το πρότυπό μας. Ελπίζω να πέρασαν όλοι. Πήρα αυτόν τον κωδικό:

Τίτλος σελίδας

ΕΠΙ ΚΕΦΑΛΗΣ
ΠΕΡΙΕΧΟΜΕΝΟ
ΥΠΟΔΕΙΓΜΑ

Έτσι προέκυψε η ιστοσελίδα μου:

Ας αναλύσουμε τώρα αυτόν τον κώδικα στα συστατικά του. Ας δημιουργήσουμε 4 αρχεία: header.php με την κεφαλίδα αρχείου, sidebar.php με την πλαϊνή στήλη, content.php με το κύριο περιεχόμενο της σελίδας και footer.php για το υποσέλιδο του ιστότοπου.

Πίνακας κεφαλίδας σελίδας, td ( περίγραμμα: συμπαγές μαύρο 1 εικονοστοιχεία; περίγραμμα-σύμπτυξη: σύμπτυξη; ) #layout ( πλάτος: 800 εικονοστοιχεία; περιθώριο: αυτόματο; ) #layout td ( padding: 20 px; ) #sidebar (πλάτος: 300 px )

ΕΠΙ ΚΕΦΑΛΗΣ
ΠΕΡΙΕΧΟΜΕΝΟ
ΥΠΟΔΕΙΓΜΑ

Τώρα ας επιστρέψουμε στο index.php και ας γράψουμε τον ακόλουθο κώδικα σε αυτό:

Ας ανανεώσουμε ξανά τη σελίδα:

Τα-ντα! Η σελίδα μας διαμορφώθηκε δυναμικά! Όχι μόνο συναρμολογήθηκε από διαφορετικά στοιχεία, αλλά αντλεί επίσης τιμές από μεταβλητές.

τις οδηγίες απαιτεί_άπαξ και περιλαμβάνει_άπαξ

Μερικές φορές χρειάζεται να συνδέσετε ένα αρχείο μόνο μία φορά. Για παράδειγμα, για να συμπεριλάβετε ένα αρχείο με συναρτήσεις μόνο μία φορά. Για αυτό χρησιμοποιούνται οδηγίες απαιτείται_μια φοράΚαι περιλαμβάνει_μια φορά.

Ας δημιουργήσουμε ένα αρχείο config.phpκαι γράψτε σε αυτό τα ακόλουθα περιεχόμενα:

Τώρα ας δημιουργήσουμε ένα άλλο αρχείο (για παράδειγμα, "b.php") και ας συμπεριλάβουμε το σενάριο "a.php" σε αυτό:

Όπως μαντέψατε, η σύνδεση ενός αρχείου τρίτου κατασκευαστή στην PHP γίνεται χρησιμοποιώντας την κατασκευή απαιτήσεων. Για να το πω απλά σε απλή γλώσσα, τότε αυτή η κατασκευή απλώς αντιγράφει όλο τον κώδικα από το "a.php" και τον επικολλά στο "b.php". Μια πολύ σημαντική απόχρωση: η διαδρομή προς το αρχείο πρέπει να είναι γραμμένη σωστά και προσπαθήστε να γράψετε μια σχετική διαδρομή, όχι απόλυτη, καθώς η εγγραφή απόλυτων μονοπατιών στην κατασκευή απαίτησης συχνά απενεργοποιείται στις ρυθμίσεις PHP για λόγους ασφαλείας. Μπορείτε επίσης να συνδέσετε όχι μόνο αρχεία PHP, αλλά και οποιαδήποτε άλλα. Για παράδειγμα, συχνά περιλαμβάνονται αρχεία HTML. Κάποτε, όταν έφτιαχνα έναν ιστότοπο, για να μην αντιγράψω ορισμένα επαναλαμβανόμενα πράγματα (για παράδειγμα, μενού, μετρητές, πνευματικά δικαιώματα κ.λπ.), έβαλα τον κώδικα HTML τους σε ένα ξεχωριστό αρχείο. Και μετά σε κάθε σελίδα απλώς συμπεριέλαβα αυτά τα αρχεία. Ως αποτέλεσμα, για να κάνω μια αλλαγή, για παράδειγμα, στο μενού, έπρεπε να διορθώσω μόνο ένα περιλαμβανόμενο αρχείο και αμέσως μετά μεταμορφώθηκε ολόκληρος ο ιστότοπος. Αυτός ο σχεδιασμός λοιπόν είναι εξαιρετικά χρήσιμος και, τουλάχιστον, εξοικονομεί πολύ χρόνο.

Ωστόσο, πολύ σημαντικό σημείο. Πώς να αποφύγετε αυτό το πρόβλημα: ας υποθέσουμε ότι δύο προγραμματιστές κάνουν ένα μεγάλο πρόγραμμα. Ο πρώτος προγραμματιστής βρήκε μια έτοιμη επιλογή για την εκτέλεση μέρους της εργασίας του και τη συνέδεσε χρησιμοποιώντας το Απαιτ . Ο δεύτερος προγραμματιστής βρήκε επίσης ακριβώς την ίδια έτοιμη λύση για τη δική του εργασία, και συμπεριέλαβε επίσης το σενάριο χρησιμοποιώντας την απαίτηση. Στη συνέχεια, όταν και οι δύο προγραμματιστές ενώσουν τα μέρη τους, θα εμφανιστούν σφάλματα. Γιατί; Και όλα αυτά επειδή συνέδεσαν το ίδιο σενάριο δύο φορές. Ας δούμε ένα απλό παράδειγμα:

Εάν εκτελέσετε αυτό το σενάριο, θα διαπιστώσετε ότι το αρχείο "a.php" συμπεριλήφθηκε δύο φορές, ωστόσο, το καλέσαμε μόνο μία φορά. Γιατί συνέβη αυτό; Επειδή όμως περιλαμβάνεται και στο αρχείο «b.php». Αυτό είναι το πρόβλημα. Και μπορεί να λυθεί πολύ απλά: χρησιμοποιώντας την κατασκευή require_once. Κάνει τα πάντα το ίδιο, αλλά αν το αρχείο έχει ήδη συμπεριληφθεί σε αυτό το σενάριο, δεν θα το συνδέσει. Ας διορθώσουμε το αρχείο "b.php":

Τώρα, αν τρέξουμε το σενάριο "c.php", θα δούμε ότι το αρχείο "a.php" εκτελείται όπως αναμένεται μόνο μία φορά. Προσωπικά, σας συμβουλεύω να χρησιμοποιείτε πάντα την κατασκευή require_once, εκτός φυσικά και αν χρειαστεί να εισαγάγετε το ίδιο πράγμα πολλές φορές (αυτό είναι επίσης απαραίτητο μερικές φορές). Έτσι θα αποφύγετε περιττά λάθη.

Και, τέλος, θα ήθελα να μιλήσω για δύο ακόμη παρόμοιες κατασκευές, με τη βοήθεια των οποίων μπορείτε επίσης να συμπεριλάβετε αρχεία τρίτων στην PHP - αυτά είναι τα include και include_once . Είναι εντελώς παρόμοια με αυτά που συζητήθηκαν παραπάνω, αλλά υπάρχει μια μικρή διαφορά. Στην περίπτωση των κατασκευών request και require_once, εάν το περιλαμβανόμενο αρχείο δεν βρεθεί, η εκτέλεση του σεναρίου θα διακοπεί. Και όταν χρησιμοποιείτε το include ή το include_once, απλώς θα εμφανίζεται μια προειδοποίηση και το σενάριο θα συνεχίσει να εκτελείται. Αυτή είναι η όλη διαφορά. Σας συμβουλεύω μάλιστα να ελέγξετε και να δείτε μόνοι σας.

Για να κάνετε τον κώδικά σας πιο ευανάγνωστο, μπορείτε, για παράδειγμα, να βάλετε ορισμούς συναρτήσεων ή/και κλάσεων σε ξεχωριστό αρχείο. Η δυνατότητα συμπερίληψης αρχείων στην PHP παρέχεται από τέσσερις γλωσσικές οδηγίες:

  • συμπεριλαμβάνω
  • απαιτώ
  • περιλαμβάνει_μια φορά
  • απαιτείται_μια φορά

Και οι τέσσερις εντολές μπορούν να λάβουν ένα όνομα ως παράμετρο τοπικό αρχείο. Οι δηλώσεις συμπερίληψης και απαίτησης είναι πολύ παρόμοιες στη δράση και διαφέρουν μόνο ως προς την αντίδρασή τους στην αδυναμία απόκτησης του ζητούμενου πόρου. Για παράδειγμα, εάν ένας πόρος δεν είναι διαθέσιμος, συμπεριλάβετε και συμπεριλάβετε_once εμφανίστε μια προειδοποίηση και προσπαθήστε να συνεχίσετε την εκτέλεση του προγράμματος. απαιτούν και απαιτείται_άπαξ διακοπή της επεξεργασίας της σελίδας εάν ο ζητούμενος πόρος δεν είναι διαθέσιμος.

συμπεριλαμβάνω

Η δήλωση περιλαμβάνει σάς επιτρέπει να συμπεριλάβετε και να επισυνάψετε άλλα σενάρια στο σενάριο PHP σας. Όταν ξεκινήσει το πρόγραμμα, ο διερμηνέας απλώς θα αντικαταστήσει την οδηγία με τα περιεχόμενα του αρχείου που περιλαμβάνεται. Ας δούμε πώς λειτουργεί, δημιουργήστε ένα αρχείο που ονομάζεται add.php και γράψτε μέσα:

Τώρα ας δημιουργήσουμε ένα άλλο αρχείο και ας το ονομάσουμε, για παράδειγμα, test.php , στο οποίο θα συμπεριλάβουμε το αρχείο add.php:

Όπως μπορείτε να δείτε από το παράδειγμα, η δήλωση include προσαρτά τα περιεχόμενα του περιλαμβανόμενου αρχείου, χάρη στο οποίο το πρόγραμμά σας αποκτά πρόσβαση σε άλλες μεταβλητές, συναρτήσεις, κλάσεις κ.λπ.

Σημείωση: Μπορείτε να δώσετε στα αρχεία που περιλαμβάνονται οποιαδήποτε ονόματα, αλλά πάντα να προσθέτετε την επέκταση .php, γιατί εάν χρησιμοποιείτε διαφορετική επέκταση, οι εισβολείς μπορούν να ζητήσουν το αρχείο σας και ο διακομιστής ιστού θα επιστρέψει το κείμενό του. Αυτός είναι ένας κίνδυνος ασφαλείας, επειδή οι κωδικοί πρόσβασης ή ο τρόπος λειτουργίας του προγράμματός σας θα μπορούσαν να αποκαλυφθούν, δίνοντας στους εισβολείς μια κερκόπορτα. Για να μην συμβεί αυτό, τα αρχεία που περιλαμβάνονται πρέπει να υποβάλλονται σε επεξεργασία από τον διερμηνέα PHP.

Σύνδεση μέσα σε λειτουργία

Εάν η συμπερίληψη ενός αρχείου εμφανίζεται μέσα σε μια συνάρτηση, τότε όλος ο κώδικας που περιέχεται στο αρχείο συμπερίληψης θα συμπεριφέρεται σαν να είχε οριστεί μέσα σε αυτήν τη συνάρτηση, δηλ. ο κώδικας θα έχει τοπική εμβέλεια. Ας ξαναγράψουμε λίγο το προηγούμενο παράδειγμα:

Τώρα ας προσθέσουμε μια συνάρτηση στο test.php:

Εφόσον δηλώσαμε το $var1 ως καθολικό μέσα στη συνάρτηση, γίνεται διαθέσιμο και στο καθολικό εύρος.

Διαδρομή αρχείου

Τα αρχεία περιλαμβάνονται με βάση την καθορισμένη διαδρομή προς το αρχείο, εάν η διαδρομή δεν έχει καθοριστεί, θα χρησιμοποιηθεί η διαδρομή που καθορίζεται στην οδηγία include_path (στο αρχείο διαμόρφωσης php.ini). Εάν το αρχείο δεν βρεθεί στην καθορισμένη διαδρομή στο include_path , η δήλωση include θα προσπαθήσει να ελέγξει τον τρέχοντα κατάλογο εργασίας στον οποίο βρίσκεται το σενάριο που περιλαμβάνει το αρχείο, εάν η δήλωση περιλαμβάνει δεν μπορεί να βρει το αρχείο, θα εκδοθεί μια προειδοποίηση.

Εάν καθοριστεί μια διαδρομή - ανεξάρτητα από το ποια: απόλυτη ή σχετική (σε σχέση με τον τρέχοντα κατάλογο όπου βρίσκεται το σενάριο συμπερίληψης) - η οδηγία include_path θα αγνοηθεί.

περιλαμβάνει_μια φορά

Η συμπεριφορά του include_once είναι πανομοιότυπη με τη δήλωση include, με τη μόνη διαφορά ότι εάν ο κώδικας από το αρχείο έχει ήδη συμπεριληφθεί μία φορά, δεν θα συμπεριληφθεί και δεν θα εκτελεστεί ξανά. Αυτό βοηθά στην αποφυγή του προβλήματος της παράκαμψης συναρτήσεων, μεταβλητών κ.λπ. Για να κατανοήσετε καλύτερα πώς λειτουργεί αυτό, ακολουθεί ένα παράδειγμα:

Στο test.php θα προσπαθήσουμε να εκτελέσουμε τον ακόλουθο κώδικα:

Αυτό θα έχει ως αποτέλεσμα ένα μήνυμα σφάλματος, επειδή οι λειτουργίες δεν μπορούν να παρακαμφθούν. Για να αποφύγετε αυτόν τον τύπο σφάλματος, θα πρέπει να χρησιμοποιήσετε τη δήλωση include_once. Ας ξαναγράψουμε τον κώδικα στο αρχείο test.php:

απαιτούν και απαιτούν_άπαξ

Οι εντολές require και require_once λειτουργούν με τον ίδιο τρόπο ώστε να περιλαμβάνουν και να περιλαμβάνουν_once εκτός από μία διαφορά. Εάν δεν βρεθεί το αρχείο συμπερίληψης, η εκτέλεση σεναρίου θα διακοπεί, ενώ το include και το include_once θα εκδώσει μια προειδοποίηση και θα συνεχίσει την εκτέλεση του σεναρίου.

Συμβουλή: προσπαθήστε να εγκαταλείψετε τελείως τη χρήση του περιλαμβάνει και απαιτεί, χρησιμοποιήστε τα ανάλογα τους με το επίθημα _once. Αυτό θα διευκολύνει τη διάσπαση ενός μεγάλου, πολύπλοκου προγράμματος σε σχετικά ανεξάρτητες ενότητες.

21.01.2018

Οχι ακόμη


Γεια σε όλους!
Ας συνεχίσουμε να μαθαίνουμε τα βασικά της PHP από την αρχή!
Σε αυτό το σεμινάριο θα σας πω πώς να συμπεριλάβετε ένα αρχείο στην php.
Γιατί πρέπει να συμπεριλάβετε ένα αρχείο στην php;

Μόνο μια στιγμή, θα τα μάθετε όλα τώρα.
Θυμάστε το προηγούμενο μάθημά μας Νο. 16, για το οποίο μίλησα;
Έτσι, μπορείτε να δημιουργήσετε ένα αρχείο, για παράδειγμα "function.php" και να γράψετε εκεί όλες τις λειτουργίες που θα χρειαστείτε να χρησιμοποιήσετε για τον ιστότοπο. Το μόνο που μένει είναι να συνδέσετε το αρχείο "function.php" στη σελίδα του ιστότοπου και αυτό είναι. Αυτό είναι βολικό και δεν υπάρχει μάτσο περιττό κώδικα στην κύρια σελίδα του ιστότοπου.

Θα σας δώσω ένα άλλο παράδειγμα όπου μπορείτε να χρησιμοποιήσετε τη σύνδεση εξωτερικά αρχεία php.
Για παράδειγμα, έχετε έναν ιστότοπο 100 σελίδων, ο οποίος αποτελείται από κεφαλίδα, μενού, περιεχόμενο και υποσέλιδο.
Και ξαφνικά πρέπει να προσθέσετε μια άλλη ενότητα στο μενού. Φανταστείτε: αυτό απαιτεί άνοιγμα 100 αρχείων για να γίνει μια διόρθωση.

Αλλά μπορείτε να τα αποφύγετε όλα αυτά εάν δημιουργήσετε ένα ξεχωριστό αρχείο, για παράδειγμα, "menu.php" και το συνδέσετε στον ιστότοπό σας όπου θα έπρεπε να βρίσκεται το μενού. Και μετά από αυτό, εάν κάνετε μια διόρθωση μόνο σε ένα αρχείο "menu.php", η αντικατάσταση θα γίνει αυτόματα στις υπόλοιπες 100 σελίδες του ιστότοπου. Με αυτόν τον τρόπο μπορείτε να συνδέσετε την κεφαλίδα, το υποσέλιδο του ιστότοπου κ.λπ. Βολικό, έτσι δεν είναι;
Νομίζω ότι στο τέλος αυτού του άρθρου θα δείξω με ένα παράδειγμα πώς να το οργανώσετε αυτό.
Έτσι, για σύνδεση εξωτερικών php αρχεία, υπάρχουν δύο κύρια σχέδια συμπερίληψης: απαιτώΚαι συμπεριλαμβάνω .

Η κατασκευή περιλαμβάνει

Η κατασκευή συμπερίληψης σάς επιτρέπει να συμπεριλάβετε αρχεία στον κώδικά σας Σενάριο PHPενώ το σενάριο εκτελείται.

Η σύνταξη της κατασκευής include είναι:

Αν σε φάκελο:

Δημιουργήστε ένα αρχείο "function.php" με αυτόν τον κώδικα:

Τώρα στο αρχείο "index.php" Ας προσπαθήσουμε να συνδέσουμε το αρχείο "function.php" (γραμμή Νο. 2):

Αποτέλεσμα:

Προσοχή: υπάρχουν περιπτώσεις που μπορεί να ξεχάσετε και να προσπαθήσετε να συμπεριλάβετε ξανά το αρχείο "function.php" (γραμμή No. 2, No. 3):

Ως αποτέλεσμα, ενδέχεται να προκύψει μοιραίο σφάλμα ή να εμφανιστούν ξανά τα περιεχόμενα του αρχείου. Στην περίπτωσή μου θα υπάρξει ένα σφάλμα:

Μοιραίο σφάλμα : Δεν είναι δυνατή η εκ νέου δήλωση της Sreturn() (προηγουμένως δηλώθηκε στο O:\home\localhost\www\php\function.php:2) στο O:\home\localhost\www\php\function.php στη γραμμή 5

Εάν αφαιρέσετε την ίδια τη συνάρτηση και γράψετε το κείμενο (αρχείο "function.php"):

Λοιπόν, φυσικά, στο αρχείο "index.php" αφαιρέστε επίσης την έξοδο συνάρτησης:

τότε το αποτέλεσμα απλά θα επαναληφθεί.

Γειά σου! Γειά σου!

Για να αποτρέψετε τέτοια σφάλματα και να αποτρέψετε την επανασύνδεση του αρχείου, αντί για τη δήλωση "include", πρέπει να χρησιμοποιήσετε τη δήλωση "include_once".

κατασκευές "include_once".

Η σύνταξη για την κατασκευή "include_once" είναι:

Παράδειγμα (γραμμή Νο. 2, Νο. 3):

Αν και υπάρχουν δύο συνδέσεις, το αρχείο θα συνδεθεί μόνο μία φορά, δηλαδή η σύνδεση θα αγνοηθεί, αφού το αρχείο είναι ήδη συνδεδεμένο.

Η κατασκευή των απαιτούμενων συμπερασμάτων

Η κατασκευή απαιτήσεων σάς επιτρέπει να συμπεριλάβετε αρχεία σε ένα σενάριο PHP πριν από την εκτέλεση του σεναρίου PHP.

Η σύνταξη για την κατασκευή "require" είναι:

Αν σε φάκελο:

Εάν συναντήσουμε πολλές δηλώσεις απαιτήσεων στον κώδικά μας που περιλαμβάνουν το ίδιο αρχείο, ο διερμηνέας θα κάνει ένα σφάλμα. Για να αποφύγετε αυτήν την κατάσταση, πρέπει να χρησιμοποιήσετε την οδηγία "require_once":

κατασκευές "require_once".

Προσοχή: εάν συμπεριλάβετε ένα ανύπαρκτο αρχείο μέσω "include", "include_once", "require" ή "require_once", το αποτέλεσμα θα είναι ένα σφάλμα:

Προειδοποίηση: include_once(function1.php) : απέτυχε το άνοιγμα της ροής: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος στο O:\home\localhost\www\php\index.php στη γραμμή 2

Τώρα, όπως υποσχέθηκα, θα σας δείξω πώς να συνδέσετε το μενού, την κεφαλίδα και το υποσέλιδο του ιστότοπου στον ιστότοπο. Θα πάρω ως παράδειγμα έναν έτοιμο ιστότοπο, αυτόν που κάναμε εσείς και εγώ όταν μελετούσαμε.

Ας χωρίσουμε αυτόν τον ιστότοπο στα ακόλουθα αρχεία:

Έτσι, δημιουργήστε έναν φάκελο "Πείραμα" σε (ή φιλοξενία). Θα υπάρξει ένας νέος ιστότοπος για πειραματισμό.

Στον φάκελο "Πείραμα", δημιουργήστε έναν άλλο φάκελο που ονομάζεται "συμπεριλαμβάνονται". Όπως καταλαβαίνετε, ο φάκελος "include" θα περιέχει τα αρχεία σύνδεσης ("menu.php", "heder.php" και "footer.php").

Τώρα μεταβείτε στο φάκελο "include" και δημιουργήστε ένα αρχείο "menu.php" εκεί με τον ακόλουθο κώδικα:

ΑΡΧΙΚΗ ΣΧΕΤΙΚΑ ΜΕ ΕΜΕΝΑ ΥΠΗΡΕΣΙΕΣ ΣΧΟΛΙΑ

Δημιουργήστε ένα άλλο αρχείο που ονομάζεται "heder.php" και επικολλήστε αυτόν τον κώδικα:

δικτυακός τόπος

Εκπαίδευση βασικών HTML

Δημιουργήστε ένα άλλο αρχείο με το όνομα "footer.php" και επικολλήστε αυτόν τον κώδικα:

ιστότοπος © 2016

Τώρα αφήνουμε το φάκελο "include" και δημιουργούμε το κύριο αρχείο "index.ph p"
(σημείωση: όχι "ευρετήριο. html", δηλαδή "ευρετήριο. php") με αυτόν τον κωδικό:

ΣΠΙΤΙ

Συνέδεσα τα αρχεία στις γραμμές Νο 19, Νο 32, Νο 38.
Λάβετε υπόψη ότι απλώς δείχνω τις ενότητες του κώδικα που εξάγονται μέσω του "include_once", απλώς για κατανόηση, διαφορετικά τα σχόλια μπορούν να αφαιρεθούν, ο κώδικας θα είναι μικρότερος και το αρχείο θα είναι πιο ανοιχτό:

Εξασκηθείτε στα βασικά της HTML για έναν ιστότοπο

ΣΠΙΤΙ

Εδώ θα είναι το κείμενο για την κύρια σελίδα

Τώρα αντιγράψτε αυτόν τον κώδικα για τα υπόλοιπα αρχεία "obo-mne.php", "uslugi.php", "obratnaja-svjaz.php", αλλάζοντας μόνο το κείμενο της κεφαλίδας και το ίδιο το περιεχόμενο.

Αυτό είναι όλο, παρακολουθήστε και ελέγξτε.
Για απόλυτη ευτυχία (ώστε να εμφανίζονται οι εικόνες), μην ξεχάσετε να δημιουργήσετε ένα φάκελο "εικόνα" με εικόνες.

Εγγραφείτε σε ενημερώσεις ιστολογίου για να μην χάνετε νόστιμα μαθήματα σχετικά με τα βασικά της PHP.

Προηγούμενη ανάρτηση
Επόμενη καταχώρηση

Κριτική