PHP Bao gồm các tệp
Câu lệnh include
(hoặc require
) lấy tất cả văn bản/mã/đánh dấu tồn tại trong tệp được chỉ định và sao chép nó vào tệp sử dụng câu lệnh include.
Việc bao gồm các tệp rất hữu ích khi bạn muốn bao gồm cùng một PHP, HTML hoặc văn bản trên nhiều trang của một trang web.
PHP bao gồm và yêu cầu các câu lệnh
Có thể chèn nội dung của một tệp PHP vào một tệp PHP khác (trước khi máy chủ thực thi nó), bằng câu lệnh include hoặc require.
Các câu lệnh include và require giống hệt nhau, ngoại trừ trường hợp thất bại:
-
require
sẽ tạo ra lỗi nghiêm trọng (E_COMPILE_ERROR) và dừng tập lệnh -
include
sẽ chỉ tạo cảnh báo (E_WARNING) và tập lệnh sẽ tiếp tục
Vì vậy, nếu bạn muốn quá trình thực thi tiếp tục và hiển thị cho người dùng kết quả đầu ra, ngay cả khi thiếu tệp include, hãy sử dụng câu lệnh include. Ngược lại, trong trường hợp FrameWork, CMS hoặc mã hóa ứng dụng PHP phức tạp, hãy luôn sử dụng câu lệnh require để đưa tệp chính vào luồng thực thi. Điều này sẽ giúp tránh ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng của bạn, chỉ trong trường hợp một tệp chính vô tình bị thiếu.
Bao gồm các tập tin tiết kiệm rất nhiều công việc. Điều này có nghĩa là bạn có thể tạo tệp tiêu đề, chân trang hoặc menu tiêu chuẩn cho tất cả các trang web của mình. Sau đó, khi cần cập nhật tiêu đề, bạn chỉ có thể cập nhật tệp bao gồm tiêu đề.
Cú pháp
include ' filename ';
or
require ' filename ';
PHP bao gồm các ví dụ
ví dụ 1
Giả sử chúng ta có một tệp chân trang tiêu chuẩn có tên là "footer.php", trông như thế này:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Để đưa tệp chân trang vào một trang, hãy sử dụng câu lệnh include
:
Ví dụ
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
Chạy ví dụ » Ví dụ 2
Giả sử chúng ta có một tệp menu tiêu chuẩn có tên là "menu.php":
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
Tất cả các trang trong trang Web nên sử dụng tệp menu này. Đây là cách thực hiện (chúng tôi đang sử dụng phần tử <div> để menu có thể dễ dàng được tạo kiểu bằng CSS sau này):
Ví dụ
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
</body>
</html>
Chạy ví dụ »Ví dụ 3
Giả sử chúng ta có một tệp tên là "vars.php", với một số biến được xác định:
<?php
$color='red';
$car='BMW';
?>
Sau đó, nếu chúng ta đưa vào tệp "vars.php", các biến có thể được sử dụng trong tệp gọi:
Ví dụ
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
Chạy ví dụ »PHP bao gồm so với yêu cầu
Câu lệnh require
cũng được sử dụng để đưa một tệp vào mã PHP.
Tuy nhiên, có một sự khác biệt lớn giữa bao gồm và yêu cầu; khi một tệp được bao gồm trong câu lệnh include
và PHP không thể tìm thấy nó, tập lệnh sẽ tiếp tục thực thi:
Ví dụ
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Chạy ví dụ » Nếu chúng ta thực hiện ví dụ tương tự bằng cách sử dụng câu lệnh require
, câu lệnh echo sẽ không được thực thi vì quá trình thực thi tập lệnh sẽ dừng sau khi câu lệnh require
trả về một lỗi nghiêm trọng:
Ví dụ
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Chạy ví dụ » Sử dụng require
khi ứng dụng yêu cầu tệp.
Sử dụng include
khi không cần tệp và ứng dụng sẽ tiếp tục khi không tìm thấy tệp.