Φάκελοι Include στο PHP
Το server-side include (SSI) χρησιμοποιείται για τη δημιουργία λειτουργιών, κεφαλίδων, υποσέλιδων ή στοιχείων που μπορούν να επαναχρησιμοποιηθούν σε πολλές σελίδες.
Η πρόταση include (ή require) αποκτά όλο το κείμενο/κώδικα/σήματα που υπάρχουν στο καθορισμένο αρχείο και τα αντιγράφει στο αρχείο που χρησιμοποιεί την πρόταση include.
Η ενσωμάτωση αρχείων είναι πολύ χρήσιμη, αν χρειάζεστε να αναφέρετε το ίδιο PHP, HTML ή κείμενο σε πολλές σελίδες του ιστοχώρου σας.
Πρόταση include και require του PHP
Με την χρήση της πρότασης include ή require, μπορείτε να ενσωματώσετε το περιεχόμενο ενός αρχείου PHP σε ένα άλλο PHP αρχείο (πριν την εκτέλεση από τον διακομιστή).
Η πρόταση include και require είναι η ίδια, εκτός από την διαχείριση σφαλμάτων:
- Το require δημιουργεί κρίσιμα σφάλματα (E_COMPILE_ERROR) και σταματά το σενάριο
- Το include δημιουργεί μόνο προειδοποιήσεις (E_WARNING) και το σενάριο συνεχίζει
Επομένως, αν θέλετε να συνεχίσετε την εκτέλεση και να εμφανίσετε τα αποτελέσματα στο χρήστη, ακόμα και αν το αρχείο περιέχει έχει χαθεί, χρησιμοποιήστε το include. Αλλιώς, σε πλαίσια, CMS ή σύνθετες εφαρμογές PHP, χρησιμοποιήστε πάντα το require για να αναφέρετε κρίσιμα αρχεία στην ροή εκτέλεσης. Αυτό βοηθά στην αύξηση της ασφάλειας και της ακεραιότητας της εφαρμογής, σε περίπτωση απώλειας ενός κρίσιμου αρχείου.
Η χρήση του περιέχει αρχείων αποφεύγει πολλές δουλειές. Αυτό σημαίνει ότι μπορείτε να δημιουργήσετε τυποποιημένα αρχεία κεφαλίδας, υποσέλιδου ή μενού για όλες τις σελίδες. Στη συνέχεια, όταν χρειάζεται να ενημερωθεί η κεφαλίδα, πρέπει απλώς να ενημερώσετε το αρχείο περιέχει κεφαλίδα.
Γραμματική
include 'filename';
ή
require 'filename';
Παράδειγμα περιέχει PHP
Παράδειγμα 1
Υποθέτουμε ότι έχουμε ένα πρότυπο αρχείο υποσέλιδο με το όνομα "footer.php", όπως ακολουθεί:
<?php echo "<p>Copyright © 2006-" . date("Y") . " codew3c.com</p>"; ?>
Για να αναφέρετε αυτό το αρχείο υποσέλιδο σε μια σελίδα, χρησιμοποιήστε τη διαταγή include:
<html> <body> <h1>Καλώς ήρθατε στην αρχική μας σελίδα!</h1> <p>Ένας κείμενο.</p> <p>Ένας κείμενο.</p> <?php include 'footer.php';?> </body> </html>
Παράδειγμα 2
Υποθέτουμε ότι έχουμε ένα πρότυπο αρχείο μενού με το όνομα "menu.php":
<?php echo '<a href="/index.asp">Αρχική σελίδα</a> - <a href="/html/index.asp">Εκμάθηση HTML</a> - <a href="/css/index.asp">Εκμάθηση CSS</a> - <a href="/js/index.asp">Εκμάθηση JavaScript</a> - <a href="/php/index.asp">Εκμάθηση PHP</a>'; ?>
Όλες οι σελίδες του ιστότοπου χρησιμοποιούν αυτό το αρχείο μενού. Η συγκεκριμένη μέθοδος είναι (χρησιμοποιούμε ένα στοιχείο <div> έτσι ώστε στο μέλλον να μπορούμε να ρυθμίσουμε εύκολα τα στυλ με CSS):
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>欢迎访问我的首页!</h1> <p>Κείμενο.</p> <p>Περισσότερος κείμενο.</p> </body> </html>
Παράδειγμα 3
Επιπλέον, υποθέτουμε ότι έχουμε ένα αρχείο με το όνομα "vars.php", στο οποίο ορίζονται μερικές μεταβλητές:
<?php $color='银色的'; $car='奔驰轿车'; ?>
然后,如果我们引用这个 "vars.php" 文件,就可以在调用文件中使用这些变量:
<html> <body> <h1>欢迎访问我的首页!</h1> <?php include 'vars.php'; echo "我有一辆" . $color . $car "。"; ?> </body> </html>
PHP include vs. require
require 语句同样用于向 PHP 代码中引用文件。
不过,include 与 require 有一个巨大的差异:如果用 include 语句引用某个文件并且 PHP 无法找到它,脚本会继续执行:
实例
<html> <body> <h1>Welcome to my home page!</h1> <?php include 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
如果我们使用 require 语句完成相同的案例,echo 语句不会继续执行,因为在 require 语句返回严重错误之后脚本就会终止执行:
实例
<html> <body> <h1>Welcome to my home page!</h1> <?php require 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
注释:
请在此时使用 require:当文件被应用程序请求时。
请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。